一个基于规则的加解密破签工具
字数 1529 2025-08-29 22:41:24
基于规则的加解密破签工具教学文档
工具概述
这是一个基于规则的渗透测试辅助工具,专门用于处理加密、防重放和签名验证等问题。工具采用Montoya API开发,与Burp Suite集成,通过规则驱动的方式实现请求/响应的自动加解密和签名处理。
核心特性
- 规则驱动:所有行为均由用户定义的规则控制
- 透明处理:
- 进入Burp的数据包自动解密为明文
- 发出的数据包自动加密(用户无感知)
- 轻量级:总代码量(含注释、配置)不到3000行
- 现代化架构:基于Montoya API,仅支持最新版Burp
环境要求
- 必须使用OpenJDK或JRE启动的Burp Suite
- 仅支持使用Montoya API的新版Burp
- 不支持旧版Burp Suite
使用原则
- 数据流原则:
- 所有进入Burp的数据包都会解密为明文
- 所有发出的数据包都会自动加密
- 规则绝对性:所有处理逻辑完全由规则定义
- 安全原则:禁止将明文数据包发送至CloudX(可能导致功能异常)
安装与配置
安装步骤
- 从GitHub获取工具jar文件
- 在Burp Suite中加载该扩展
- 确保使用正确的Java环境(OpenJDK/JRE)
初始配置
-
视图设置(推荐):
- 在Proxy → HTTP history中设置默认展示"已编辑请求视图"
- 避免看到原始加密请求的混淆
-
日志查看:
- 使用logger选项卡查看实际发送的数据包
- 用于调试规则执行效果
规则系统详解
规则概念
规则是工具的核心,定义了如何处理请求和响应。每个规则包含:
- 匹配条件(哪些请求适用此规则)
- 处理逻辑(如何修改请求/响应)
- 执行顺序(多个规则间的优先级)
规则类型
- 解密规则:将加密请求转换为明文
- 加密规则:将明文请求转换为目标格式
- 签名规则:处理/绕过签名验证
- 防重放规则:处理防重放机制
规则配置方法
- 通过GUI界面添加/编辑规则
- 支持规则导入/导出
- 可使用预设规则模板
使用技巧
-
调试技巧:
- 当规则执行不符合预期时,检查logger选项卡
- 对比"原始请求"和"已编辑请求"视图
-
性能优化:
- 合理安排规则执行顺序
- 对高频请求路径使用高效规则
-
黑名单机制:
- 通过请求路径排除特定数据包
- 不对此类请求应用任何规则
高级功能
自定义脚本
- 支持通过脚本扩展规则功能
- 可编写自定义加解密逻辑
- 支持条件判断和复杂处理
RPC支持
- 远程调用外部加解密服务
- 集成现有加解密系统
自动规则生成
- 时间戳规则自动生成
- 自动穷举生成破签规则
- 智能解密规则建议
最佳实践
-
规则设计:
- 先定义清晰的匹配条件
- 保持规则简洁高效
- 为复杂逻辑添加注释
-
测试流程:
- 先在测试环境验证规则
- 使用logger验证实际效果
- 逐步应用到生产流量
-
维护建议:
- 定期备份规则配置
- 随着API更新调整规则
- 利用社区分享的优秀规则
未来发展方向
-
功能完善:
- 实现当前灰色按钮功能(自定义脚本配置、RPC、forWord等)
- 增强自动规则生成能力
-
AI集成:
- 可能引入AI辅助规则生成(数据安全考虑可能默认关闭)
-
社区生态:
- 建立规则共享平台
- 提供更多预设规则模板
学习资源
- 视频演示:Bilibili教程视频
- GitHub仓库:获取最新版本和文档
- 社区讨论:先知社区等安全论坛
注意事项
- 不要将明文数据包发送至CloudX
- 确保使用支持的Burp版本
- 复杂规则应先在小范围测试
- 生产环境使用前充分验证规则效果
贡献与支持
- 在GitHub上Star项目以支持开发者
- 提交Issue报告问题或建议
- 参与社区讨论分享使用经验
通过本工具,渗透测试人员可以更高效地处理各种加密、签名和防重放机制,将精力集中在核心安全测试上,而非重复的加解密操作。