漏洞复现 activemq漏洞

ActiveMQ
Apache ActiveMQ是美国阿帕奇(Apache)软件基金会所研发的一套开源的消息中间件,它支持Java消息服务、集群、Spring Framework等。随着中间件的启动,会打开两个端口,61616是工作端口,消息在这个端口进行传递;8161是Web管理页面端口。

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

漏洞攻击步骤:

1、寻找目标
由于这个中间件会开放8363端口和61616端口,因此可以通过扫描端口,发现存在该服务的服务器,从而进行攻击。

由于ActiveMQ 5.0 及以后版本默认集成了jetty,因此也可以通过headers头信息中查看服务器信息判断,但这个不足以确定服务器安装了ActiveMQ。

2、攻击方式

弱口令

admin/admin

未授权访问

/admin/connections.jsp

源代码泄露

  1. http://www.example.com:8161//admin/index.jsp
  2. http://www.example.com:8161//admin/queues.jsp
  3. http://www.example.com:8161//admin/topics.jsp

XSS漏洞

/admin/queueBrowse/example.A?view=rss&feedType=alert(“ACTIVEMQ”)

远程代码执行漏洞

ActiveMQ 中的 FileServer 服务允许用户通过 HTTP PUT 方法上传文件到指定目录,构造PUT请求上传 webshell 到 fileserver 目录,然后通过 Move 方法将其移动到有执行权限的 admin/ 目录。

利用流程

1、PUT上传
2、获取绝对路径
3、移动文件到admin目录或者api目录下,登录访问webshell

局限性

webshell需要管理员账号密码,但理论上我们可以覆盖jetty.xml,将admin和api的登录限制去掉,然后再写入webshell。

反序列化漏洞

漏洞原理:

Apache ActiveMQ 5.13.0之前5.x版本中存在安全漏洞,该漏洞源于程序没有限制可在代理中序列化的类。远程攻击者可借助特制的序列化的Java Message Service(JMS)ObjectMessage对象利用该漏洞执行任意代码。

工具:https://github.com/matthiaskaiser/jmet/releases/download/0.1.0/jmet-0.1.0-all.jar

漏洞利用流程

  1. 构造(可以使用ysoserial)可执行命令的序列化对象
  2. 作为一个消息,发送给目标61616端口
  3. 访问web管理页面,读取消息,触发漏洞

局限性

通过web管理页面访问消息并触发漏洞这个过程需要管理员权限。在没有密码的情况下,我们可以诱导管理员访问我们的链接以触发,或者伪装成其他合法服务需要的消息,等待客户端访问的时候触发。

PS. 原文还提了反弹shell只是简单地了解了一下。。



参考链接:https://blog.csdn.net/weixin_42936566/article/details/87004649
https://www.freebuf.com/articles/web/247967.html

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇