Android 14 抓HTTPS包

2024-06-04 6139阅读

为何Android14抓包困难

Android 从 7.0 开始,系统不再信任用户 CA 证书(应用 targetSdkVersion >= 24 时生效,如果 targetSdkVersion = 24 的应用的 HTTPS 包就抓不到了。

而安卓14在证书的路径有变化,导致之前的证书移动到system下面不再生效,分析了下framework.jar,新的系统信任的CA证书放在了/apex/com.android.conscrypt/cacerts下面,并且/apex全部是不可变的。

获取root并安装magisk

下面以三星Galaxy S21 5G(SM-G9910)为例

三星手机安装面具教程(Samsung手机获取ROOT权限)

安装证书

参考:Android 14安装系统证书-CSDN博客

安装magisk插件Magisk-MoveCACerts

  1. 下载插件 Magisk-MoveCACerts.zip
  2. 打开 Magisk -> 模块 -> 从本地安装 -> 选择Magisk-MoveCACerts.zip 即可安装
  3. 启用插件

将.cre格式证书转换为.pem格式

安装openssl

[ Downloads ] - /source/index.html

转换方法

openssl x509 -inform DER -in FiddlerRoot.cer -outform PEM -out fiddler.pem
openssl x509 -subject_hash_old -in fiddler.pem
e5c3944b
-----BEGIN CERTIFICATE-----
MIIDozCCAougAwIBAgIQAIT6XfpOuiXq3HekbflZ4zANBgkqhkiG9w0BAQsFADBq
MSswKQYDVQQLDCJDcmVhdGVkIGJ5IGh0dHA6Ly93d3cuZmlkZGxlcjIuY29tMRgw
FgYDVQQKDA9ET19OT1RfVFJVU1RfQkMxITAfBgNVBAMMGERPX05PVF9UUlVTVF9G
aWRkbGVyUm9vdDAeFw0yMDA2MjEwMDAwMDBaFw0zMDA2MjgxNzAzNTdaMGoxKzAp
BgNVBAsMIkNyZWF0ZWQgYnkgaHR0cDovL3d3dy5maWRkbGVyMi5jb20xGDAWBgNV
BAoMD0RPX05PVF9UUlVTVF9CQzEhMB8GA1UEAwwYRE9fTk9UX1RSVVNUX0ZpZGRs
...
-----END CERTIFICATE-----

通过上面的命令会拿到一个ID,例如e5c3944b

注意这个 e5c3944b 名字会用在下面命令的 -out 后面,然后加上【.0】后缀

openssl x509 -inform PEM -in fiddler.pem -out e5c3944b.0

把证书放到系统证书目录

  1. 先将【xxx.0】证书移动到手机根目录
  2. 打开 MT管理器
  3. 左侧打开 xxx.0 所在目录
  4. 右侧打开目录system/etc/security/cacerts
  5. 长按 xxx.0 文件选择 复制 操作
  6. 移动成功后长按右侧 269953fb.0 选择 属性
  7. 更改权限为 664
  8. 重复上面的4,5,6,7步骤,将步骤4 的路径改为 /data/adb/modules/MoveCACerts/system/etc/security/cacerts/

通过***抓取app流量

参考:安卓APP抓包教程(二)——使用drony配合fiddler抓包 - 简书

原理解释

  1. APP限制了不使用默认系统代理,导致通过WiFi设置的系统代理失效。
  2. drony 通过使用***的手段,截获了设置的APP的所有流量,再将这部分流量转发到fiddler的监听端口,强制这部分流量通过fiddler,fiddler就能对抓到的请求进行截获,查看。

安装 drony

Google play下载,或者直接在本文附件下载,安装到手机

使用流程

  1. 打开dronyAPP,左滑切换到设置界面

    Android 14 抓HTTPS包 第1张

  2. 进入无线网络设置界面

    Android 14 抓HTTPS包 第2张

  3. WiFi界面长按当前连接的WiFi,点击编辑

    Android 14 抓HTTPS包 第3张

     

    在这个地方可能会遇到几个问题:

  • 不显示WiFi列表,一般真机会遇到这个问题。需要在权限里面允许drony定位、读取应用列表、开关WLAN,然后重启drony就可以恢复显示。了
  • 显示了非常多的WiFi列表:这个是由于的drony会显示所有系统保存过的WiFi列表,而不是当前能够搜索到的WiFi。
    1. 设置fiddler代理ip和端口

      ip和端口不懂设置多少的,请根据上一章的内容进行设置和获取:安卓APP抓包教程(一)——使用fiddler抓包。

      Android 14 抓HTTPS包 第4张

    1. 往上滑,查看下面的更多设置,设置过滤默认值和进入规则设置界面

      Android 14 抓HTTPS包 第5张

    2. 点击加号添加规则

      Android 14 抓HTTPS包 第6张
    3. 行动(action)选择本地代理链全部,然后点下面的APP选择,选择要抓包的APP。如果不选择APP,则会把所有APP的请求都转发过去,容易造成误判。
      Android 14 抓HTTPS包 第7张

    4. 点击右上角保存按钮保存当前过滤规则配置

       

      Android 14 抓HTTPS包 第8张

    5. 配置完成,回到规则列表界面,再次确认规则

       

      Android 14 抓HTTPS包 第9张

    6. 返回主界面,点击开关,打开代理转发

    7. fiddler上查看请求内容。

      Android 14 抓HTTPS包 第10张

     


    免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

    目录[+]