双向认证APP自吐密码
在许多业务非常聚焦比如行业应用、银行、公共交通、游戏等行业,C/S架构中服务器高度集中,对应用的版本控制非常严格,这时候就会在服务器上部署对app内置证书的校验代码。抓包出现如下提示时,我们确定出此APP为服务器校验app客户端证书对于此类APP抓包而言通常需要完成两项内容:
找到证书文件找到证书密码
服务器对客户端进行校验过程中,客户端将证书公钥发送给服务器,以及从服务器获取session和私钥解密过程中,需要API进行操作,API存在于java层框架内,所以hook框架层代码java.security.KeyStore,使密码自吐
#frida-U-fcn.soulapp.android-lssl.js--no-pause
密码}%2R+\OSsjpP!w%X然后首先使用常规方式解压搜索app包里的证书文件。一般apk进行解包,直接过滤搜索后缀名为p12的文件即可,一般常用的命令为tree-NCfhl
grep-ip12,直接打印出p12文件的路径.如果在安装包内找不到证书的话,也可以进行hookjava.io.File
#androidhookingwatchclass_methodjava.io.File.$init
通过hook也可以找到该证书文件。
#objection-gcn.soulapp.androidexplore--startup-