[渗透实战记录]记一个ActiveMQ站点的渗透

2022-06-21  本文已影响0人  Rixo
  1. 从朋友那里拿到一个站点,这个站点有三个端口。


    image.png
  2. 其中3000端口是个Grafana网站(用于数据展示的框架,版本8.2.5,存在CVE-2021-43798 任意文件读取漏洞。


    image.png
  3. 8888端口是个nginx页面


    image.png
  4. 8161端口是个ActiveMQ框架,经过测试,改框架存在任意文件写入漏洞(CVE-2016-3088)


    image.png
  5. 发现ActiveMQ框架存在密码,尝试默认弱口令admin/admin,登录失败,于是对用户名admin进行密码爆破


    image.png
  1. payload选择自定义模式,第一个位置填admin,第二个位置填:,第三个位置填密码字典,然后再使用base64加密以下,此处注意要去掉默认对字符的urlencode编码

    image.png
  2. 一直没有爆破出来,由于CVE-2016-3088写webshell的利用方式需要登录,所以无法使用了,决定对ActiveMQ框架进行漏洞利用尝试写入定时任务进行反弹


    image.png
  3. 使用put很轻松就将文件传上去了,但是在使用move指令移动文件的时候,一直没有得到返回结果,导致无法利用成功。


    image.png
  4. 于是陷入了瓶颈,怀疑是运行框架的用户权限不足,导致无法对定时任务的目录进行写入。准备尝试第三种利用方式(覆盖jetty.xml文件,去除登录限制),但是该方式在网上并没有找到相对应的利用文章。在vulhub下载靶场后,开始找到xml文件,觉得下面两行是绕过的关键。


    image.png

8.将对应的xml文件内容改为false,然后进行上传,结果move指令又没有响应。


image.png
  1. 这个时候还没意识到问题在哪,但第三种利用方式也失败了。回头去对前两个页面进行渗透。此时对nginx框架的目录扫描已经结束,发现了一个wwwroot.7z压缩包。


    image.png
  2. 压缩包里面存着一个用户名和密码,刚好是ActiveMQ框架的用户名密码


    image.png

11.成功登录框架,尝试写入webshell,这个时候才发现之前文件始终移动不成功是这个框架的move指令解析出现了问题。


image.png
  1. 至此,我如何写shell的问题的就又陷入了瓶颈,望着里面一堆的一句话木马,陷入了自闭。


    image.png
  2. 由于这些jsp文件的名字和目录,我觉得应该是些常见的一句话木马,于是对一句话木马进行了密码爆破,最终成功获取了shell(事实上后期又发现了新的方法可以写入shell)。


    image.png
  3. 不如意料,不是root权限。


    image.png
  4. 在/usr/bin目录下发现存在pkexec文件,猜测应该会有CVE-2021-4034的提权漏洞,找了一个GitHub进行提权。


    image.png
  5. 该脚本需要在python3的环境下运行才能执行,冰蝎有个虚拟终端的功能,非常好用,可以支持自动补全,相比于msf的shell好用不少,直接使用python3运行脚本可以得到root权限。


    image.png
  1. 后面在使用msf的时候,发现msf的脚本其实可以在move指令不支持的情况下写入shell,使用方式如下:


    image.png

18.执行后可以看到shell被写入了,但是会话并没有反弹成功。


image.png
  1. 在冰蝎中可以看到对应的文件


    image.png

20.后面有时间再研究一下msf是如何写shell的吧。

ActiveMQ需要关注的几个url和文件

  1. 用于登录后查看版本,框架绝对路径
    http://your-ip:8161/admin/test/systemProperties.jsp

  2. 写入shell后的文件夹目录,登录后可以在该目录下连接webshell
    http://your-ip:8161/api

  3. 无需登录,直接访问,看是否开启put或者move指令
    http://your-ip:8161/fileserver/

  4. 框架的配置文件,可以在其中开启fileserver
    /apache-activemq-5.13.4/conf/jetty.xml

  5. 登录后,可以在这个页面出发CVE-2015-5254的反序列化利用(这个漏洞需要管理员点击一下才能利用)
    http://your-ip:8161/admin/browse.jsp?JMSDestination=event

Grafana需要关注的几个文件

  1. 数据库文件,存在用户名和密码的哈希,但是加盐了难以解密
    /var/lib/grafana/grafana.db

  2. grafana的配置文件,存在默认口令,数据库连接口令,还有一些其他的配置信息
    /etc/grafana/grafana.ini

  1. CVE-2021-43798的分析文章
    https://saucer-man.com/information_security/856.html
上一篇下一篇

猜你喜欢

热点阅读