文章总结: ShiroAttack2v5.x是一款针对ApacheShiro框架的安全测试工具,支持GUI和CLI双模式操作。工具具备Shiro-550漏洞利用、AES密钥爆破、内存马注入、命令执行等功能,支持多版本Gadget链和自动加密模式切换。文档详细分析了Shiro漏洞长期存在的原因(默认密钥、替换困难、低利用成本),并提供了完整的攻击流程说明和CLI操作指南。 综合评分: 85 文章分类: 渗透测试,WEB安全,安全工具,漏洞分析,红队
工具 | GUI×CLI 一把抓!ShiroAttack2 v5.x
原创
mimi3389 mimi3389
赛博生存指南
2026年5月22日 08:50 浙江
在小说阅读器读本章
去阅读
地址: https://github.com/SummerSec/ShiroAttack2 SummerSec 大佬持续更新的Shiro工具,有2.5K+star。
里面的key3c6e0b8a9c15224a是写死的,可以考虑生成动态生成的。部分页面的加载也可以用AI写成异步的。打算下回实战测试和 https://github.com/wyzxxz/shiro_rce_tool的实战区别。下面是cc测试的截图。
Shiro-550 为什么还能用
2016 年的洞,到现在还能用。不是漏洞本身多高级,而是三个很现实的原因叠在一起。
第一,默认Key。Shiro 1.2.4 及之前版本在 CookieRememberMeManager 里硬写了一个 AES Key:kPH+bIxk5D2deZiIxcaaaA==。十几年来的教程和脚手架代码一直在拷贝这个值。
第二,Key换不掉。 rememberMe 要求客户端和服务端用同一个 Key。一旦 Key 写进了配置文件、Docker 镜像、源码仓库,要替换就得所有节点一起改。
第三,利用成本足够低。GUI 点几下就能拿 shell,CLI 可以直接嵌进脚本。
攻击流程
探测 ── 发 rememberMe=yes,看有没有 Set-Cookie: rememberMe=deleteMe
Shiro 1.x 遇到非法 Cookie 一定会回 deleteMe
爆破 ── 用 SimplePrincipalCollection 序列化 + 候选 Key 逐个加密
响应里没有 deleteMe 就是 Key 对了
Gadget ── 用确认的 Key 加密完整 Payload(Gadget 链 + TemplatesImpl 回显类)
命令执行 ── rememberMe Cookie 带着 Gadget Payload,命令写在 Authorization 头里
内存马 ── 同样的 Gadget 链注入 Filter/Servlet,不再依赖 rememberMe
Key 替换 ── 用内存马机制改掉 Shiro 的 AES Key,旧 Key 失效
CLI 模式
5.0 之后增加了 CLI 模式。核心攻击逻辑 AttackService(1000+ 行)一行没改——通过继承 TextArea 拦截日志输出,利用 ControllersFactory 注册表注入假的 MainController,GUI 和 CLI 共用同一套攻击代码。CLI 不需要 JavaFX 窗口,启动时用一个 JFXPanel 初始化 JavaFX 线程即可。
# 启动 CLI
java -cp shiro_attack-<version>.jar com.summersec.attack.CLI.MainCLI <command> [options]
| 命令 | 用途 |
| — | — |
| detect | 探测目标是否为 Shiro 框架 |
| crack | 爆破或验证 Shiro AES Key |
| exec | 执行系统命令(自动探测 Gadget 链) |
| memshell | 注入内存马(哥斯拉/冰蝎/蚁剑等) |
| changekey | 替换目标 Shiro Key |
| gui | 启动 JavaFX 图形界面 |
--json 模式下输出分为两个通道:以 { 开头的是结构化日志,AI 或脚本可以按行 JSON.parse;不以 { 开头的是命令原始输出,tail -1 就能拿到结果。
AES 模式:--cbc(Shiro ≤1.2.4),--gcm(Shiro ≥1.2.5)。
Gadget自动探测优先尝试String/AttrCompare/ObjectToStringComparator 变体(无需 commons-collections),回退到依赖 ComparableComparator 的 CB 变体。
详细 CLI 用法见 @skills/shiro-attack-cli/SKILL.md(此文件是给 AI Agent 加载的 skill 描述,结构化为命令参数和排错规则)。
功能特点
- • JavaFX GUI + CLI 双模式,同一套攻击逻辑
- • 多版本 CommonsBeanutils gadget(1.8.3 / 1.9.2 / AttrCompare / ObjectToStringComparator)
- • 自动 AES 模式切换:CBC 和 GCM 各走一遍,哪个命中锁哪个
- • 内存马注入(Filter / Servlet / Interceptor / HandlerMethod / TomcatValve)
- • 回显类型:TomcatEcho / SpringEcho / DFS-AllEcho / ReverseEcho / NoEcho
- • 回显生成器(jEG)和内存马生成器(jMG)第三方集成,失败自动回退 Legacy
- • Shiro Key 替换(6 条注入路径,自动验证新旧 Key)
- • 自定义请求头、Cookie 合并、POST 型探测
- •
--json结构化输出,适合脚本化和 AI 调用 - • HTTP/HTTPS 代理(支持认证)
- • Key 生成器
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:赛博生存指南 mimi3389 mimi3389《工具 | GUI×CLI 一把抓!ShiroAttack2 v5.x》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论