国密tls双向认证“首例公开”研究过程分享

admin 2026-01-26 02:06:33 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文分享了针对金融机构国密TLS双向认证的抓包与绕过研究过程。通过Wireshark分析流量特征确认双向认证机制,利用Hook技术提取客户端证书及私钥,配置至Yakit代理成功解决双向认证交互。此外,针对国密环境下的定制化SSL证书锁定,通过Hook手段实现了单向校验绕过,最终实现了国密TLS流量的完整抓包与安全测试。 综合评分: 81 文章分类: 渗透测试,实战经验,逆向分析


cover_image

国密tls双向认证“首例公开”研究过程分享

原创

testbywlp testbywlp

安全边角料

2026年1月25日 19:59 山东

  • 前文

最近在测试过程中,发现某家金融机构采用双向国密证书校验,和团队成员云舒共同研究,成功解决抓包问题。在网上目前并没发现国密双向的成功案例,Storm作为安全团队,出于对安全攻击方的贡献,将整个研究过程分享出来。

  • 过程分析

因为主要的目是技术分享,大家关注相关的解决思路即可,截图多有打码,保护隐私人人有责。

首先我们通过charles来抓包查看

可以看到,版本不支持,看到这种基本可以确定是国密tls交互。此时可能会有人尝试采用yakit做代理。但是我的建议是先通过wireshark抓包看看是否是国密。

wireshark抓包如下(需要查看客户端和代理,以及代理和服务器的)

客户端到代理(其实也包括了charles发给服务器的普通tls)

从上述流量基本判断客户端并没自适应tls降级机制。

接着可以尝试看看代理给到yakit并开启yakit的国密出向

如下,wireshark没有和服务端的流量

接着自己构造一个请求包试试

也没法交互,但是这个时候wireshark肯定有流量了。

我们从上述的tls握手流量中可以看到,服务端给客户端发了个“证书请求”,这就是说明了,服务端需要验证客户端的证书,双向认证就这样确定了。

接下来我们需要看一看yakit的国密双向认证功能,具体文章如下

Yakit MITM 实战:如何打通国密双向认证的“证书关卡”?

要求很明确,要么拿到客户端证书加私钥。要么获取pfx或者p12文件及密钥。随后团队成员找了并没发现任何目录下存在类似的文件,怀疑文件被加密或者写死在代码里面。

那么找证书就变成hook相关的函数了,这个大家自行脑部,过程省略。最终拿到证书如下

将其粘贴到对应的位置,点击保存会自行导入

接着来看看双向认证可以了吗

成功解决双向问题。

接下来发现还存在客户端证书单向校验,这里需要额外提一句,对于国密的tls我们通常采用的什么justtrust著如此类都不能用,因为国密基本依赖的是三方定制化开发。

也是一个关键点hook成功通过单向证书校验

  • 结束语

忽然想着爱回收怎么不找我打广告,因为我的电脑太卡了,旧电脑不知道该怎么处理。如果来找我我就给爱回收。


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:安全边角料 testbywlp testbywlp《国密tls双向认证“首例公开”研究过程分享》

评论:0   参与:  0