作者:掌控安全-核心成员Xiaoc
一、 前言Shiro 是 Apache 旗下的一个用于权限管理的开源框架,提供开箱即用的身份验证、授权、密码套件和会话管理等功能。
该框架在 2016 年报出了一个著名的漏洞——Shiro-550,即 RememberMe 反序列化漏洞。
4年过去了,该漏洞不但没有沉没在漏洞的洪流中,反而凭借其天然过 WAF 的特性从去年开始逐渐升温,恐将在今年的 HW 演练中成为后起之秀。
二、 原理事实上,关于shiro的原因网络之上已经有很多的分析。而且估计大多数人对枯燥的代码分析没多大兴趣。
我这里就不啰嗦了。直接上如何检测以及攻击过程。对原理感兴趣的小伙伴可以自行百度或者谷歌吧。 三、 如何发现3.1 第一种情况多半是发生在登录处,返回包中包含rememberMe=deleteMe这个字段。 上图: 看到这个字眼,基本就可以试试。 实战之中也是多试试,即使漏洞不存在也不会亏。 3.2第二种情况另一种情况就是,直接发送原数据包,返回的数据包中不存在关键字 可以通过在发送数据包的cookie中增加字段: 然后查看返回数据包中是否存在关键字。 这就要求很多时候需要手动在发送数据包之中增加字段,无疑相对比较麻烦, 有没有什么自动检测的工具吗? 有,当然有! 四、 自动检测Shiro反序列化之burp插件先看效果: 这是刚刚我在测试的时候,插件自动发现的。 这期间,我们什么都不用操作, 仅仅需要过一段时间自己看看没有漏洞网站即可。 安装过程:4.1 将jar包放到一个文件内,建议在burp根目录文件夹下建立一个插件的文件夹。 路径最好不要出现中文。 4.2 点击—插件—添加—会弹出窗口。4.3. 选定插件,下一步,关闭4.4 测试插件效果我们去访问一下刚刚那个漏洞网站,随便输入账户密码试试。 如果输入账户密码登录几次,等待1分钟左右,这没有出现的话。 就重启burp在试试。一般是不需要的。 五、 利用漏洞进行攻击通过以上内容,我们已经找到burp,接下来就是进行攻击利用。 直接上工具: 没有工具的可以去这篇文章下下载: 5.1. 测试存在四种方式都可以试试, 推荐第四个。 这个资源可以放一个目标网站的一些图片链接等,也可以不放。 接着下一步。 已经发现key。在等待几分钟。 上边的框从灰色变白色,即可以输入命令的时候,代表攻击成功。 5.2. 执行命令5.3. 反弹shell先在VPS上开启监听 因为我得VPS(服务器)是linux的,就选择这个。 
执行,返回VPS查看。 ,
 5.4. 写入webshell同样的原理可以写webshell,有时候自带的木马写不成功。 可以换成自己的马木,如冰蝎自带的。 写马。 访问试试,貌似写成功了。 空白页面一般是写入成功,如果未写入成功。访问会爆404等待文件不存在。 但是出现一个蛋疼的问题。 Webshell管理工具连接不上。 冰蝎2、冰蝎3、蚁剑都连接不上。 六、进阶之写内存马到此就失败了么? 不不不,上内存马。
6.1. 新工具老规矩,先看看他的样子。 6.2. 使用
,
, 6.3. 写马不能忘了,之所以到这,是因为写木马无法连接的原因。 开始写马。 
,出错,换个目录试试。 
查看,应该是写入成功。注意的是,这是冰蝎2的木马。 
,, 七、 其他第一种工具,直接写马不成功。 因为可以执行命令了。可以通过命令echo写马。 工具是死的,人是活的。 学院有自己的靶场,复现的话可以使用学院的,也可以自己vulhub一键搭建。 这个文章也是早就想写了,一直拖到现在也算是完成了一个小心思。 写的比较仓促,有些不足,欢迎大家多多指教补充。 部分工具在公众号:掌控安全EDU,后台直接回复:“工具”直接下载即可。
|