cdxy.me
Cyber Security / Data Science / Trading

这两天很火的java反序列化漏洞,看到乌云大牛已经开始刷分,于是找来实践一波

exp来源

ysoserial

https://github.com/frohoff/ysoserial 这个项目针对不同的java产品给出了简单的漏洞利用脚本.

其中weblogic和jenkins提供python脚本,但需自己加载payload. 而对于jboss和websphere则提供了poc的数据包.

更多信息在:foxglovesecurity.com

foxlovesec

https://github.com/foxglovesec/JavaUnserializeExploits java项目,用于生成payload,配合前面的漏洞利用脚本使用,便可完成exp.

iswin

http://www.iswin.org/2015/11/13/Apache-CommonsCollections-Deserialized-Vulnerability/ - 随风师傅分析漏洞原理,并基于foxglovesec提供的payload生成脚本,给出基于两种不同方法的改进版exp和poc,exp里调用了随风师傅的java版反弹shell方法,它的好处是不依赖操作系统环境,兼容win和linux,使反弹shell成功率和稳定性更高.

随后,随风师傅在zone.wooyun发帖教学exp的使用,并积极指点新手白帽子进行实践. http://zone.wooyun.org/content/23905

实践

资源打包

JBOSS的部分已整理到github https://github.com/Xyntax/JBoss-exp

  • Java_payload 随风师傅给出的改良版exp和foxlove的项目代码
  • jbossexp.py 一个利用脚本,用于发包
  • kiss10500.bin/kiss10501.bin 我测试时生成的两个payload
  • shodan_data.xml 从shodan拿了一些JBOSS服务的主机IP
  • shodan_data.xml_sorted 整理后的url,用于批量poc

payload生成

  1. 用eclipse打开Java_payload项目,按如下路径找到main.java

eclipse

  1. 代码很清晰,找到ip和端口的地方,填入自己机器上用于接受反弹shell的**公网**ip和port.然后下面的路径是生成payload的保存地址.

maincode

  1. 运行main.java不报错即可
  2. 到指定路径检查payload文件是否已经生成

确定目标

在shodan_data.xml列表里找几个网站,放到sebug的照妖镜里测试一下是否存在漏洞.

https://www.sebug.net/monster/ 有漏洞的结果是这个样子:

xddedu

反弹shell

首先打开自己在公网接收shell的主机 使用以下命令监听端口,等待连接 nc -lv 10501

然后开启另一个命令行,使用python的发包脚本向目标机发送payload. 命令格式python jbossexp.py [url] [port] [payload]

随后公网主机会接收到反弹的shell,如下图.

exp-success

注意

并不是所有sebug验证出漏洞的地址都能顺利反弹shell,经个人测试,成功率在50%-60%左右,请多加尝试! 可以邮箱联系我索取已经验证成功并拿到shell的地址.

参考

天上繁b,乃前辈所装,虽历历在目,仍不可尽数.向大牛们学习!

http://yaseng.org/java-unserialize-rce-and-jboss-rce.html?utm_source=tuicool&utm_medium=referral http://www.nxadmin.com/penetration/1381.html

http://www.iswin.org/2015/11/13/Apache-CommonsCollections-Deserialized-Vulnerability/

https://www.sebug.net/vuldb/ssvid-89723 http://www.heysec.org/archives/156

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