java反序列化漏洞利用工具_记一次实战中Shiro反序列化漏洞利用

一、Shiro反序列化漏洞发现

0x01 与shiro失之交臂

         还是上一篇文章的那个网站,从之前发的任意用户注册到文件上传失败再到反射型XSS就可看出来,我第一次并没有发现shiro反序列化漏洞。

         由于在注册的时候只是关注了是否存在批量注册,然后注册成功之后就立马登录进去寻找上传点,因此对数据包没有进行详细的分析,因此没有发现shiro反序列化漏洞。如果后面没有再次进行测试的话,也就不会再有后续的shiro漏洞了。因此,得到一个教训,测试的时候一定要心细,渗透是一个细活,只有细心才能发现一些别人没有发现的漏洞。

0x02 shiro的发现

         对于shiro框架的发现对于网上的都一样,查看返回包中是否有rememberMe=deleteMe,还有就是使用AWVS等扫描工具进行扫描。但是扫描不一定能扫描出shiro框架,因此还是分析返回包比较好一些。

(1):登录错误没有发现shiro

d2bc4ad3e55d0d73efc4bb6201b9bbc0.png

         登录失败时并没有发现存在shiro反序列化,然后注册了一个用户,直接就登录进去寻找上传点,尝试getshell。最后上传失败发现了一个XSS(大家可以看上篇文章有详细介绍)

(2):发现shiro

         本来第一遍测试完之后上传失败了,我已经心灰意冷了,但是由于资产比较少,发现都没有太多功能点,就又开始测试这个网站。在使用之前注册的用户名和密码登录时发现了shiro。

         这个网站在登录失败时返回200,这个时候不会显示rememberMe=deleteMe,但是,在使用正确的用户名和密码之后会返回302跳转的状态码,在这个返回包中会显示rememberMe=deleteMe。因此自己以后在测试过程中还是需要对各种返回包都进行分析,运气和细心都很重要。

041d3a5e39e6542543c13743faaf69c7.png

二、shiro反序列化漏洞的测试

0x01 爆破找到正确的Key

         发现使用shiro框架,还等什么,使用shiro利用工具一把梭啊。但是网上的各种利用工具很多,但是Key都不是很多,因此用了好几个工具都失败了。最后找到一个工具成功发现了Key和Gadget。

5abd477dfa0d8a56f6abd8255c247e36.png

三、shiro反序列化漏洞踩坑

0x01 dnslog无回显

如果一路如此顺畅,那么今天就是非常开心的一天了,但是拿shell之路却十分曲折。

(1):生成域名

1c3c5288643fd8511b18b17cc65ef353.png

(2):使用工具进行dnslog回现

b3521901bb5c279674e3d1483e6740a9.png

e9adf64463d6abd0b6a3f7b716ec7dd2.png

e620d83fb21bf4d54e633cc00b08d179.png

(3):dnslog没有流量

3799a854fc2d532a01ea11020d5e99e8.png

      这下心凉一截。使用工具执行命令也是失败。到手的shell就没了?

四、使用回显漏洞进行检测

0x01 使用文件读入getshell

         眼看到手的shell就要飞了,肯定不甘心啊,找大佬去请教,有大佬说这是无回显,可以尝试盲写文件,但是这种似乎风险太大,还没去尝试,各位大佬后面可以进行尝试。

        后面有人说出了一个很严峻的问题,可能并不是无回显,而是服务器禁止了dnslog。说完之后恍然大悟,HW刚结束,很多人都把服务器上的dnslog给禁掉了。因此dnslog无回显。解决这种问题可以自己搭建一个dnslog来进行尝试。

         正在我与大佬交谈之时,师傅传来喜讯,拿到shell了。通过创建一个文件,然后将命令写入文件中,最后读取文件中的内容来执行命令。

(1):指定Key和Gadget

         由于之前使用一个工具扫描出了Key和Gadget,因此直接指定Key和gadget,这样就不需要工具再进行Key的爆破了,更加准确和快速。

6155e83f8f05048187b5ba460c7cfb64.png

(2):找到一个静态文件

05c4e4bbc5c900d418b04a2c4dc53d5e.png

(3):添加静态文件地址

6113aa6f96e54d5fd6fa769eb50ce9f6.png

         这块添加的文件的目的是先去定位服务器上的一个资源,然后再服务器上创建一个文件,然后要执行的命令就会被写入这个要创建的文件中,后面通过读取这个文件的内容来执行命令。

(4):成功getshell

b3bc417868ddcad8ef9b01db26d5f4f1.png

五、后续

0x01 shell反弹失败

         成功getshell之后,四个人一窝蜂的上去反弹shell。结果写了大量的文件,用了各种反弹shell的姿势都失败了,一看午饭时间到了,先吃饭吧,我师傅在给我说了一句下午必拿下之后就回家吃饭了,我心想,吃完饭一定要弹个shell回来。结果中午和哥几个吃完饭之后,按耐不住拿到shell的快感,大家一致同意去附件公园走走,探讨一下拿到shell的心得。在大家吹的天花乱坠的时候,不知道发生了一件大事。

0x02 shiro漏洞Key被换了

         下午上班了,我还迷迷糊糊的,师傅过来问我,shell弹回来了吗?我说了一通,最后总结成两个字就是没有。然后突然发现shiro漏洞打不了了,Key被更改了,用我之前的神器爆破不出key了。完了,到手的shell这下真的没有了。甚至我们还被反打了,我师傅的VPS发现了mozi的扫描,完了,这下被防守人员发现了。shell没了,只能重新找新的漏洞了。

0x03 总结

(1):对于数据包不仅要看登录失败的数据包,登录成功的更应该关注,我们往往只关注登录成功的结果,却忘记分析相关的数据包。

(2):对于shiro反序列化漏洞应该多用不同的工具去爆破key,一个工具的key可能会不全

(3):目前刚进行完国家HW,很多公司禁了dnslog的域名,因此dnslog没有流量不代表是没有回现

(4):拿到shell之后先留后门,维持权限,不能飘了。

第一次在文章里面写了这么多废话,也算是记录一下今天的心情吧。后期的文章还是会多点干货,少点废话的。

8294d538777c3a70a3abf2e464bec293.png

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Shiro反序列化漏洞是近年来Java安全领域的一个重大问题,由于Apache Shiro框架的反序列化机制不够安全且攻击方式广泛,黑客可以通过此漏洞在应用程序任意代码和操作,从而导致数据泄露、系统崩溃等风险。 为了解决这一问题,一些恶意黑客开发了Shiro反序列化漏洞综合利用工具,其主要作用是探测针对Shiro漏洞的攻击点,同时提供自动化攻击功能,即通过模块化的方式实现攻击流程的各个步骤自动化工具,简化攻击者的工作。 该工具主要包括以下几个模块: 1. Payload生成模块:通过对Shiro反序列化漏洞利用规律进分析,在调用对象与类名之间添加有效负载数据,从而在反序列化过程攻击代码。 2. 指南针获取模块:该模块主要用于获取目标应用程序Shiro指南针(即Shiro的运时环境),并识别出漏洞点的位置和类型。 3. AOP织入模块:该模块主要用于AOP自动化处理,将攻击标织入目标应用程序的相关类或方法,实现自动化攻击。 4. 反调试模块:该模块主要用于实现对攻击过程的掩盖,尽可能避免被抓获,保证攻击效果。 总的来说,Shiro反序列化漏洞综合利用工具主要是针对Shiro反序列化漏洞的攻击模块,可以快速发现应用程序的漏洞点,同时提供一系列协作模块进攻击,具有较高的效率和可靠性,是黑客攻击的主要工具之一,需要开发者及时做好漏洞修复和加强安全机制的措施。 ### 回答2: Shiro是一个开源的Java安全框架,提供了诸如身份验证、授权、加密解密等功能。然而,Shiro框架存在一个反序列化漏洞,攻击者可以通过该漏洞任意命令,进而获取服务器权限。 针对这个漏洞,黑客社区推出了多种综合利用工具,例如ysoserial、commons-collections等,这些工具利用Shiro框架反序列化漏洞的特性,构造恶意数据包,传输至目标服务器执任意命令。 在使用这些工具时,黑客需要进一系列步骤。首先,需要获取Shiro框架的加密密钥,以便构造有效的恶意数据包。其次,需要利用工具生成payload,常用的情况是利用ysoserial生成Exploit序列化对象,最后发送给目标服务器触发漏洞恶意代码。 这些工具很容易从Github和Darkweb等地方获取,使用工具的成本很低,攻击者只需要稍微了解一些Shiro框架和Java相关知识,便可轻松进攻击。 因此,服务端必须及时修复Shiro框架的反序列化漏洞,升级到最新版本,避免黑客通过利用漏洞入侵服务器,造成不可估量的损失。此外,数据加密、权限控制等措施也非常重要,可以防止黑客获取加密密钥,降低服务器被攻击的风险。 ### 回答3: Shiro反序列化漏洞综合利用工具是一款能够快速检测和利用Shiro框架反序列化漏洞工具,可以自动化完成攻击流程,方便黑客进攻击。该工具主要是基于shiro-poc脚本开发而来,可以自动化完成Shiro认证和授权的绕过,进而获取目标系统敏感信息或者直接取得系统控制权。 利用Shiro反序列化漏洞综合利用工具通常需要进如下流程:首先,收集目标系统的相关信息,包括Shiro框架版本和应用程序暴露的Cookie等信息。其次,通过漏洞检测工具对目标系统进漏洞扫描,确认是否存在Shiro反序列化漏洞。然后,根据目标系统的情况选择对应的攻击方式,例如通过利用恶意序列化数据绕过Shiro认证和授权机制,获取敏感信息或控制目标系统。最后,保护自己的系统,使用安全补丁或其他措施来防止Shiro反序列化漏洞被攻击者利用。 总之,Shiro反序列化漏洞综合利用工具是一个十分强大的利用工具,可以使攻击者轻松利用Shiro反序列化漏洞对目标系统进攻击和渗透,对于防范此类攻击,我们必须做好系统漏洞修复和相关防护措施。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值