推动开源
        推动网络安全

安卓APP抓包之双向认证突破

开始进入正题(突破双向认证)

之前有看到过双向认证证书的突破思路,今天正好在项目中碰到了,而且app又正好没有加固,免除了脱壳烦恼,因此有了以下突破过程:

刚开始不知道APP做了双向证书校验,结果杯具就发生了。

然后开始寻找之前某大佬提供的突破思路

因为app没有进行加固,可以直接用jadx反编译出来,然后全局搜索”.cer”、”.crt”、”.pfx”、”PKCS12″、”keyStore”等等关键字,我这里搜索的是client.pfx。

转到代码位置查看详情(证书安装密码、其他密码等等信息),可以看到,pfx证书没有设置密码(本地测试安装了下,看到有需要输入密码,第一次尝试过输入密码,结果提示密码错误,第二次尝试不输入密码却安装成功了,于是开启了全局搜索之旅,看到没有设置证书安装密码):

 

 

1、将APP以压缩包形式解压出来

 

2、进入解压出来的目录,可以搜索一些证书的后缀文件,例如cer/p12/pfx等,一般安卓下的为bks,也可以先去assets或者res目录下去找找。我碰到的apk就在assets目录下存放:

 

3、本来以为还得在文件夹里面继续找key,找了一圈无果,然后咨询了某大佬,大佬让我直接把key导出来,因为之前没遇到过,觉得有点新鲜,就刚了一波

openssl pkcs12 –in client.pfx –nocerts –nodes –out client.key

这里需要注意的是,导出key的时候需要输入密码,也就是这个地方(如下图)

因为我这里是没有设置密码的,所以不用输入,直接回车导出;如果设置了证书密码,这里需要输入证书密码才能把key导出来。

 

4、有了key剩下的就好办了,将crt证书和key文件合并成“.p12”证书文件,合并的时候记得对证书进行加密(也就是加个证书密码),不加密码burpsuite是无法导入的。

合并证书命令如下:

openssl pkcs12 -export -inkey client.key -in client.crt -out client.p12

 

5、将证书导入到burpsuite:

 

6、证书导入成功,并且已启用

 

7、接下来就是见证奇迹的时刻了,为了保险起见先重启一下手机/模拟器(最好是彻底关闭然后再打开,我是这样操作的)

 

以上就是本次突破双向认证成功抓包的全过程,有问题可共同探讨、学习。

 

参考链接:
https://www.secpulse.com/archives/117194.html

https://www.secpulse.com/archives/54027.html
1 2
赞(5) 打赏
未经允许不得转载:空心's Blog » 安卓APP抓包之双向认证突破
分享到: 更多 (0)

相关推荐

  • 暂无文章

评论 抢沙发

9 + 2 =
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

BTC打赏

ETH打赏