MITM 抓包工具
BurpSuite 无法抓包的原因
应用程序开启 SSL Pinning 或 mTLS
概述:目标应用程序启用了 SSL Pinning 或 mTLS(双向 TLS 认证),导致 BurpSuite 无法正确解密 HTTPS 流量。
解决方法:
- 通过 Hook 修改 APP 运行时逻辑,禁用证书验证,绕过 SSL Pinning。
- 逆向提取 APP 内置的 客户端证书及其私钥,即可伪造身份绕过双向认证。
网站检测代理,检测 BurpSuite 接口特征
概述:目标网站检测到代理流量,拒绝 BurpSuite 的连接。
解决方法:
- 关闭 BurpSuite 的 HTTP 接口:通过配置禁用 BurpSuite 的默认接口(http://burpsuite),避免被检测。
- 关闭 Rest API:禁用 BurpSuite 的 Rest API 接口,减少被检测的可能性。
- 关闭 BurpSuite 的 HTTP 接口:通过配置禁用 BurpSuite 的默认接口(http://burpsuite),避免被检测。
网站检测 TLS 指纹特征(JA3 指纹)
- 概述:网站通过 对 TLS 客户端 Hello 数据包中的特定字段进行哈希,生成一个唯一的指纹字符串(JA3 指纹),进而判断请求是否来自真实浏览器,BurpSuite 的 TLS 指纹可能被识别为异常。
- 参考资料:SSL 指纹识别和绕过
国密 TLS 握手
概述:目标网站使用国密算法(SM2/SM3/SM4)进行 TLS 握手,而 BurpSuite 和默认浏览器不支持国密算法。
解决方法:
- 使用支持国密算法的代理工具(如 YAKit)或浏览器。
YAKit
YAKit 也是一款 MITM 抓包工具,支持多种高级功能,在某些方面可以弥补 BurpSuite 的局限性。
MITM 交互式劫持
YAKit 提供灵活的 MITM 交互式劫持功能,支持以下特性:
下游代理:支持配置下游代理,方便与其他代理工具集成。
TLS 指纹特征配置:可自定义 TLS 指纹,绕过 JA3 指纹检测。
两种启动模式:
免配置启动浏览器:
- 优点:无需手动配置证书和代理,启动空白浏览器(类似无痕模式),防止因为蜜罐导致的个人信息泄露。
- 缺点:无法使用浏览器插件。
劫持启动:
- 要求:需下载并安装 YAKit 的根证书到 受信任的根证书颁发机构,并配置 ZeroOmega 插件等类似功能的工具。
HTTP 历史记录查看
YAKit 支持查看完整的 HTTP 请求和响应历史,方便分析流量。
拦截器与重放器
YAKit 提供与 BurpSuite 类似的拦截器和重放器功能,支持实时修改请求和重放流量。
插件市场
YAKit 拥有一个功能强大的插件市场,支持一键下载所有插件,极大扩展了工具的功能性。
漏洞扫描功能
YAKit 支持多种漏洞扫描功能,包括:
- 端口与指纹扫描:支持在扫描端口的同时检测漏洞,可选择特定插件进行扫描。
专项漏洞扫描:针对特定漏洞进行定向扫描。
弱口令爆破:支持针对服务的弱口令进行爆破。
Log功能
YAKit 集成了多种日志功能,包括:
- DNS Log
- ICMP Log
- TCP Log(HTTP Log)
学习靶场
YAKit 提供内置靶场,可以学习和实践网络安全技能。