Galaxy介绍
Galaxy是一款在渗透测试中针对一些网站对数据包和响应包加密的解密插件,能开箱即用,先看一张效果展示图
当前安全测试人员面临的问题
- 越来越多的网站对HTTP请求&响应做了加密/加签,这导致想要修改明文请求/响应非常不方便。
- 已有插件在面对加密&加签同时存在、加密算法组合等情况时不够用,自行编写hook脚本难度大、效率低。
Galaxy特点
- 简单高效:用户不需要启动多余的本地服务,配置成功后可以自动对报文进行加解密。
- 上手容易:通用算法已有示例,能做到开箱即用。
- 灵活:可以使用Python、JS、Java、Grpc多种方式实现。
- 支持面广:如加密算法组合、自定义算法、动态密钥等均可以支持。
Galaxy功能介绍
目前其它插件的做法是在用户选择繁琐的页面配置后,用请求/响应调用对应的解密函数完成解密,这样只能满足既定请求。
而这次我们介绍的插件,它的思路是将请求/响应对象交给你,通过少量代码修改请求/响应对象,这样无论算法组合有多复杂都可以自动解密。
需要一些编程基础,但该插件已内置多种加密场景的脚本,对于常规算法及逻辑可以做到开箱即用。
从介绍来看,当自动解密功能 `Http Hook`启动成功后,会有如下效果:
1. 后续代理的所有请求和响应自动解密
2. 已解密请求转到Repeater后Send,得到的响应也会被解密
3. Intruder、Scanner等模块同样支持
我们以该项目提供的靶场的 `aes-cbc` 来测试下
根据前端代码,这里的流量加解密逻辑是:
1. 使用 `aes-cbc` 对原始的请求json加密
2. 将加密后的数据base64,并生成一个新的json放入data中
3. 发送请求,得到响应
4. 获取响应json中的data字段,用 `aes-cbc` 解密后进行后续业务逻辑
使用BP抓包,可以看到请求和响应都被加密
下载并加载插件后,会看到这样的界面,即表示加载成功
点击 `Start` 启动与靶场对应的hook脚本,再次请求,可以发现流量被自动解密
并且右键将已解密的请求发送到Repeater,点击Send获取的响应也是解密后的,这意味着在Intruder模块可以直接进行暴力破解
整个解密过程串起来如下
作者已搭建好对应的靶场供测试(靶场地址见文末下载),其中包括更加复杂的场景,读者可以自行测试。
Galaxy目前支持的算法
- aes-ecb
- aes-cbc
- aes-gcm
- des-ecb...
- 3des-ecb...
- rsa
- sm2
- sm3
- sm4
- md5...
- sha1...
- ...
基本市面上常见的都支持。
Galaxy其它功能
同时该插件还有一些提效功能:
1. Parse Swagger Api Doc: 解析swagger文档,生成所有URL的请求,并带入参数、路径、描述。
2. Bypass Host Check: 绕过服务端在csrf/ssrf的测试点对host做了验证。
3. Bypass Auth Of Path: 通过修改Path的方式绕过某些认证/鉴权/拦截。
4. ...
Galaxy相关项目地址
Burp插件:
https://github.com/outlaws-bai/Galaxy
靶场:
https://github.com/outlaws-bai/GalaxyDemo
原文始发于微信公众号(sec0nd安全):一款自动解密被加密请求&响应的Burp插件
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论