前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >IOS系统抓包之短链-破解双向证书

IOS系统抓包之短链-破解双向证书

作者头像
吾爱小白
发布2021-04-22 15:38:26
2.7K0
发布2021-04-22 15:38:26
举报
文章被收录于专栏:小白技术社小白技术社

前言

上次文章iOS系统抓包入门实践之短链[1]有说道关于常规抓包、路由直连以及单向证书校验的抓包方式,该文章将是在短链抓包中进行补充,主要是针对短链抓包中不太经常用到的双向证书,并进行破解和通过Charles抓取数据包,给大家提供一些解决思路。

  • 设备:越狱iPhone 5s、Mac
  • 案例:c291bA==,该app在之前安卓端已经完成双向证书破解。

双向证书判断

双向证书判断

通过常规抓包的方式,进行梭哈,发现只要开启代理,该app提示未能读取数据,因为它的格式不正确。并且在Charles中发现400 No required SSL certificate was sent

上边提示和安卓端提示相同,也就更能确定它使用的是双向证书。

双向证书主要是在通讯过程中,服务端校验了客户端证书是否正确,同样客户端也校验了服务端证书是否正确。

该app主要是在客户端封装了证书,相比于单向证书,多了在服务端校验客户端证书的过程,在Charles抓包过程中,使用的是Charles本身的证书,导致服务端校验失败,才会出现400 No required SSL certificate was sent这样的提示,那也就是我们只需要拿到封装在客户端的证书以及证书密码,即可完成与服务端的通讯。

突破分析

确定该app为双向证书,那该app的静态资源里面一定有该app的证书文件,通过解压该app的ipa包,在Payload/***_New原身里面发现该app的证书文件。

将该p12证书文件安装到Mac系统下,发现其需要密码。

破解密码

砸壳

由于App Store下载的应用都是经过苹果加密,加密之后的应用我们无法进行反编译分析,所以需要我们进行砸壳分析,也就是进行对已加密的应用进行解密操作。这里使用frida-ios-dump进行砸壳,获取其未加密的二进制文件。

获取密码

将该app的二进制文件使用ida pro打开,并在string窗口搜索该证书名后进入该类里面,最后进行f5看其伪代码。

通过ida分析,可以清楚的看到该app的证书密码。由于该app将证书密码硬编码在代码中,也不需要使用其他逆向技术进行分析跟踪。

Charles导入客户端证书

按图中进行导入,最后输入密码即可。

最后抓包即可,并且不再提示证书异常。

python实现

在这里借助requests-pkcs12实现(win下写的代码)

小结

在该app的IOS版本中的双向证书的破解比安卓简单许多,只有frida进行砸壳-分析二进制文件,没有进行Hook操作,破解证书密码也方便不少。

参考

https://blog.csdn.net/linvo/article/details/9173511 https://zhuanlan.zhihu.com/p/139940495 http://zhaoxincheng.com/index.php/2020/07/15/oulapp%e7%9a%84%e5%8f%8c%e5%90%91%e8%af%81%e4%b9%a6%e7%a0%b4%e8%a7%a3/ https://github.com/m-click/requests_pkcs12

参考资料

[1]

iOS系统抓包入门实践之短链: http://zhaoxincheng.com/index.php/2021/03/14/ios%e7%b3%bb%e7%bb%9f%e6%8a%93%e5%8c%85%e5%85%a5%e9%97%a8%e5%ae%9e%e8%b7%b5%e4%b9%8b%e7%9f%ad%e9%93%be/

iOS系统抓包入门实践之短链

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-04-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小白技术社 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
    • 双向证书判断
      • 双向证书判断
    • 突破分析
      • 破解密码
        • 砸壳
        • 获取密码
      • Charles导入客户端证书
        • python实现
          • 小结
            • 参考
              • 参考资料
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档