金融业app抓包强制国密tls基础概念

admin 2025年6月29日20:36:05评论19 views字数 1786阅读5分57秒阅读模式
    • 前文
    相信很多测试过金融app的同伴都知道,现在很多app都会通过各种手段阻止你拦截http(s)请求包,就我遇见的情况就非常之多,今天来给大家讲一讲其中一个,强制国密tls的故事。
    在讲这个故事之前还有个小插曲,我为了让yakit支持这种抓包方式(其实自己尝试写过,但是感觉工程量太大就半途而废了),在他们的交流群中说过这个事,然后换来一个人无情的嘲讽,我已经描述的很清楚是appyakit之间的国密交互,但是这个人好像只看见“国密”两个字,其他的自动屏蔽掉了,希望在没理解没看清别人的问题之前不要盲目的发表言论,更不要嘲讽他人,我也是为了大家能够遇见这种情况可以直接通过yakit抓包,多一点善意总归好。
金融业app抓包强制国密tls基础概念
  • yakit
    我用yakit也有很长时间了,基本上对很多功能都有了解。它对中文的支持以及intruderpayload设置,网络延迟,和其他工具的联动在我这里远超burpsuite,对了还有一个最重要的就是它支持和服务端进行国密tls交互,这也是burpsuite所不具备的。
  • yakit国密tls
    为了讲之后的,我们先来探究一下yakit的国密交互到底是什么,只要是国密就能用这个解决?先上一个功能图
金融业app抓包强制国密tls基础概念
    其实只要你仔细看,就能发现这个功能只是yakit和服务器交互时进行国密tls交互,就是yakit的出向流量会进行国密交互,但是这又关入向什么事呢?入向还是监听端口的相关tls,它并不是和出向一样也会采用国密tls。而入向tls经过尝试是不包含国密tls支持的。
    此处我们通过一个国密网站举例说明

    https://ebssec.boc.cn/

    当我们通过普通浏览器访问,结果显示如下

金融业app抓包强制国密tls基础概念

    这个错误是在说TLS版本或者密码套件不匹配,原因也很简单就是edge并不支持国密tls加密套件,而服务端又必须要国密套件就出现了这个问题,此时yakit的作用展示出来,将其作为中间站,就能成功抓到包

金融业app抓包强制国密tls基础概念

    那么这个流程是什么样的?edge浏览器通过标准tls(本文中所有非国密全称TLS)和yakit交互,成功访问并被yakit解密,然后yakit和服务端交互时采用国密tls交互,成功闭环。

    我们来看看yakit和国密网站交互的tls握手流量,想必大家都知道tcp三次握手之后开始tls握手

  • client hello

金融业app抓包强制国密tls基础概念

    yakit通过国密tls发送给服务端支持的加密套件以及版本号,我们可以看到wireshark智能识别到了TLCP协议并且加密套件都是国密的算法

  • server hello

金融业app抓包强制国密tls基础概念

    服务端返回一个选中的国密TLS加密算法

  • 证书交换

金融业app抓包强制国密tls基础概念

    服务端返回证书给yakit,用于后期的流量加密和认证等操作

    这个过程是不是一目了然?可能此时就会有人问,为什么有些网站或者app在没使用yakit之前是没法抓包的,但是开启国密之后能抓到?这就涉及到另一个概念,tls降级

  • tls降级

    有一些网站以及app,在tls交互逻辑中明确写着,先通过国密tls交互,如果失败了再通过标准tls交互,这样yakit就能成功抓到包了。但是,有些app就比较硬核,直接不写容错机制,强制国密tls

  • 强制国密tls

    某些app,实现了一套新的自己的tls库,完全使用国密和服务端交互,所以不存在tls降级,在这个方面目前的yakit也是无能为力的,因为yakit目前不支持入向国密TLS交互,目前市面上任何一个测试工具似乎都没有这个功能。下面展示一个金融应用走强制国密tls

    在此之前先讲讲charles中常见的抓包问题,比如下面这个就是证书不信任问题

金融业app抓包强制国密tls基础概念

    而我们要说的国密tls是下面这个错误

金融业app抓包强制国密tls基础概念

    为了验证可以在wireshark查看流量交互,此处不知道为什么wireshark没能准确识别为TLCP协议,charles一样,也没法处理客户端发送的国密tls交互

金融业app抓包强制国密tls基础概念

    如果你问我有没有办法通过charles抓取,有是有,但是没法解密;只要停用这个ssl proxy就能让流量通过成功

金融业app抓包强制国密tls基础概念

    但是就没法看到原先的明文,客户端正常访问不会出现网络异常

金融业app抓包强制国密tls基础概念
  • 解决办法

    对于这种客户端强制国密tls的,我目前研究出两种方案,一种已经过实战,另一种是概念,但基本是可行的,等待后续此系列慢慢讲。如果大家有更好的方案的可以交流

原文始发于微信公众号(安全边角料):金融业app抓包“强制国密tls”基础概念

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年6月29日20:36:05
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   金融业app抓包强制国密tls基础概念https://cn-sec.com/archives/4209700.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息