一、简介
在分析恶意样本或加密流量时,我们常常需要将 TLS 加密通信还原为明文。
本文介绍如何通过 PolarProxy 和Proxifier 解密 TLS 流量并保存为 pcap 文件,在 Wireshark 中进行进一步分析。
二、工具准备
✅ PolarProxy(推荐 Windows x64 版本)
✅ Proxifier(强制非浏览器程序走代理)
✅ Wireshark(抓包工具)
✅ 虚拟机(运行恶意样本)
✅ Host 主机(运行代理并监听)
三、完整操作流程
1. 下载并解压 PolarProxy
解压后得到 PolarProxy.exe
可执行文件
2. 运行 PolarProxy
PolarProxy.exe --httpconnect 127.0.0.1:1080 -w traffic.pcap --certhttp 10080
参数说明:
--httpconnect
:启用 HTTP CONNECT 代理(配合 Proxifier 使用)
-w traffic.pcap
:保存解密后的流量为 traffic.pcap
--certhttp 10080
:提供证书下载页面,默认地址 http://127.0.0.1:10080
3. 安装根证书
浏览器访问 http://127.0.0.1:10080,下载并安装 PolarProxy 生成的根证书。
安装到受信任的根证书颁发机构:
打开 certmgr.msc
找到“受信任的根证书颁发机构”
右键导入 .cer
文件
建议选择“本地计算机”并在管理员权限下执行
4. 设置 Proxifier
添加代理服务器:
地址:127.0.0.1
端口:1080
类型:HTTPS
添加规则:
目标程序路径(例如:恶意样本 exe)
动作:走上面的代理
5. 启动目标程序并抓包
启动样本
PolarProxy 控制台会显示如:
<6>[1080] 127.0.0.1 -> example.com:443 Action: INSPECT
表示已代理并解密连接。
6. 分析抓包结果
用 Wireshark 打开 traffic.pcap
滤器如:
http || tls.record.version
能看到 HTTP 请求或其他明文应用层协议,即解密成功。
四、解密原理详解
PolarProxy 是如何解密 TLS 的?
PolarProxy 作为 中间人代理(MitM) 工作:
客户端 → PolarProxy:
客户端通过 HTTP CONNECT 或 SOCKS 代理将 TLS 连接发给 PolarProxy。
PolarProxy 模拟目标服务器,伪造 TLS 证书并与客户端建立 TLS 连接。
PolarProxy → 真实服务器:
PolarProxy 自己再与目标服务器建立 TLS 连接。
两边都建立了加密连接。
在 Proxy 中间解密转发:
PolarProxy 可以看到解密前的请求和响应内容,并保存成明文 PCAP。
为什么有些连接可以解密,有些不能?
原因 | 描述 |
---|---|
✅ 使用标准 TLS 协议,走代理 | 可以正常被 PolarProxy 中间人劫持并伪造证书 |
❌ 客户端进行证书校验失败 | 例如校验证书CN/SAN不一致、CA未信任等 |
❌ 使用硬编码 CA pinning(证书钉扎) | PolarProxy 伪造证书被拒,连接失败 |
❌ 没有走代理 | 目标程序可能忽略 Proxifier 或使用底层 socket 不支持拦截 |
❌ 代理协议类型不匹配 | 例如 PolarProxy 用 HTTP CONNECT,但 Proxifier 设为 SOCKS5 |
❌ 服务器强制验证 mTLS(双向认证) | PolarProxy 无法中间人此类连接 |
五、技巧与建议
推荐将 PolarProxy 和样本分别放在虚拟机/主机中便于隔离
根证书建议手动管理,不要长期保留
结合 mitmproxy 可用于更复杂的交互分析
使用 --bypass
参数忽略特定域名,避免证书校验失败频繁
六、参考链接
PolarProxy 官方页面
Wireshark TLS 解密文档
Proxifier 使用说明
七、工具下载链接
链接: https://pan.baidu.com/s/1VcOUBLIbtMRENk68HM-lXw?pwd=7pg4 提取码: 7pg4
https://www.netresec.com/?download=PolarProxy_win-x64
https://www.proxifier.com/download/ProxifierSetup.exe
暂无评论内容