0

Android7以上证书安装

 2 years ago
source link: http://blog.wen2go.site/2021/12/07/Android7%E4%BB%A5%E4%B8%8A%E8%AF%81%E4%B9%A6%E5%AE%89%E8%A3%85/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Android 7.0后更新安全策略,软件可以自身选择是否相信用户导入的证书。所以当我们在手机导入charles的证书后,有些软件依旧抓不到Https的包。我们需要把证书导入到手机系统里面而非用户里面。

image-20211209135421284

上图是我的pixel 3xl (安卓9.0)导入成功之后的截图。亲测可以抓到https的包。

这里提供三种方案处理证书:

  1. 获取证书的hash值,将证书名改成系统可识别的证书导入到根目录。

    • 首先准备openssl 命令行工具,手机需要root,证书导出到桌面

      官网的openssl需要配置很多东西,这里我们可以下载其他人做的便捷版安装包 http://slproweb.com/products/Win32OpenSSL.html, 下载对应版本安装好 ,然后配置一下环境变量就可以了。

    • 将证书转为pem格式。charles可以直接转为pem格式,fiddler需要自己转:

      openssl x509 -in charles.cer -inform der -out charles.pem	# cer转为pem
    • 使用openssl 查看pem证书的 MD5值:

      openssl x509 -inform PEM -subject_hash_old -in charles.pem			

      image-20211209140929762

    • 获取一段类似32d678a2的字串,将文件名重命名为32d678a2.0

    • 最后把32d678a2.0文件放到手机的 /system/etc/security/cacerts目录下,重启手机即可。

    • 如果手机root了,确没有system挂载权限,可以先用adb shell把文件push到/sdcard里,再用MT管理器或者RE管理器移动到指定目录。

      adb push 32d678a2.0 /sdcard

      注意:有时候证书导入到根目录依然抓不到包,用下面指令再获取一个加密值,跟之前一样导入到根目录,两个文件一起放进去。

      openssl x509 -inform PEM -subject_hash -in charles.pem			
  2. 安装Magisk,然后从magisk里安装Move Certificates插件

    • 直接在magisk模块页面搜插件名就可以

      image-20211209142204628
      • 然后导入charles证书,正常安装到用户目录,当你抓包的时候,插件会自动帮你把证书移到根目录使用,看插件指令就能看出来。

image-20211209142442563

  1. 使用框架,把app装到沙箱里,然后用[JustTrustMe](https://github.com/Fuzion24/JustTrustMe) 模块。

    • 因为Xposed官方只支持到8.0, 对于更高版本可能有不兼容的情况,这里建议安装太极框架,太极框架兼容xpsoed的模块
    image-20211209143559342
    • 上图为太极框架界面,手机没root,只能用太极阴,我这里是太极阳,没关系,这并不影响下面的操作。

    • 点击添加应用,把想要抓包的软件添加到框架里,太极阴需要加载一会并卸载软件重装,装完之后点击模块管理,

      把安装的JustTrustMe勾选上

image-20211209144039108
  • 重新打开需要抓包的软件,就可以进行https 抓包了

第三种办法应该就是hook了软件的证书验证,其实我们也可以使用frida hook证书验证,不过需要自己找到证书验证的hook点, 本人 java比较辣鸡,找起来比较费劲,只能找大佬造好的轮子用了。。。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK