首页 > 其他分享 >如何将抓包工具证书(cer,crt, pem)写入到Android系统内置根证书目录中实现 HTTPS 抓包

如何将抓包工具证书(cer,crt, pem)写入到Android系统内置根证书目录中实现 HTTPS 抓包

时间:2023-05-17 17:32:17浏览次数:40  
标签:crt 证书 openssl system pem adb Android 模拟器


0x01 前言:

在 Android 6 之前, 手机系统既信任系统内置的证书, 也信任用户自己安装的证书, 但是在 Android 7 之后,却发生了变化, 手机系统只信任系统内置的根证书。当然了,这是为了手机系统更安全, 但是这样一来, 我们就无法使用 burpsuite, charles, fidder 抓包 app 的 HTTPS 请求。这里我将以 Charles 抓包工具的证书来演示如何讲抓包证书写入到系统根证书目录下。

如何将抓包工具证书(cer,crt, pem)写入到Android系统内置根证书目录中实现 HTTPS 抓包_https


0x02 前提准备:

windows 已安装 openssl (也可以使用 linux, 其自带 openssl)
已获得 root 的手机 (可以是模拟器如:夜神,雷电、逍遥) windows 已安装 adb 驱动 (安装过程请参考


0x03 导出 Charles 证书:

如何将抓包工具证书(cer,crt, pem)写入到Android系统内置根证书目录中实现 HTTPS 抓包_网络协议_02


如何将抓包工具证书(cer,crt, pem)写入到Android系统内置根证书目录中实现 HTTPS 抓包_https_03


0x04 使用 openssl 将 pem 证书转成系统根证书 (.0 结尾文件):

如何将抓包工具证书(cer,crt, pem)写入到Android系统内置根证书目录中实现 HTTPS 抓包_网络协议_04

windows 不自带openssl, 需自行安装。而linux自带,因此我这里把证书存到 linux 中进行转换。

执行命令: openssl x509 -subject_hash_old -in 证书名

如何将抓包工具证书(cer,crt, pem)写入到Android系统内置根证书目录中实现 HTTPS 抓包_android_05


执行命令后将 Charles.pem 文件重命名为 9d4a1b5a.0 (9d4a1b5a 需要根据自己生成的结果进行命名)

如何将抓包工具证书(cer,crt, pem)写入到Android系统内置根证书目录中实现 HTTPS 抓包_网络协议_06


将更改后的证书转移到安卓模拟器的根路径下:

如何将抓包工具证书(cer,crt, pem)写入到Android系统内置根证书目录中实现 HTTPS 抓包_android_07


0x05 使用 adb 连接安卓模拟器终端 (夜神模拟器为例)

  • 找到 NoxVMHandle.exe 进程的 PID, 输入命令: tasklist | findstr "NoxVMHandle.exe"
  • 如何将抓包工具证书(cer,crt, pem)写入到Android系统内置根证书目录中实现 HTTPS 抓包_网络协议_08

  • 寻找此进程开放的端口,输入命令:netstat -ano | findstr 9204
  • 如何将抓包工具证书(cer,crt, pem)写入到Android系统内置根证书目录中实现 HTTPS 抓包_linux_09

  • 找到62xxx的端口,并进行连接adb链接, 输入命令:adb connect 127.0.0.1:62026
  • 如何将抓包工具证书(cer,crt, pem)写入到Android系统内置根证书目录中实现 HTTPS 抓包_网络协议_10


0x06 将证书写入系统根证书目录下:

小贴士: 由于Android是基于Linux的自由及开放源代码的操作系统,Android Shell是Linux操作系统命令的缩小版, 所以大部分命令是和linux一样的。

  • 连接模拟器 adb shell, 输入命令:adb -s 127.0.0.1:62026 shell
  • 将根目录下的证书转入系统根证书目录下,执行命令:mv 9d4a1b5a.0 /system/etc/security/cacerts/ ⚠️上述问题解决: ⚠️

1、如果是已经root的实体机,/dev/root 挂载在 /,以读写权限重新挂载

HWDUK:/ # cat /proc/mounts | grep "/"
/dev/root / ext4 ro,seclabel,relatime,data=ordered 0 0

HWDUK:/ # mount -o remount,rw /

2、如果是已经root的模拟器,/dev/block/sda6 挂载在 /system

d2q:/ # cat /proc/mounts | grep "/system "
/dev/block/sda6 /system ext4 rw,seclabel,noatime 0 0

1|d2q:/ # mount -o remount,rw /system

如何将抓包工具证书(cer,crt, pem)写入到Android系统内置根证书目录中实现 HTTPS 抓包_https_11

  • 修改证书权限为 644, 执行命令:chmod 644 /system/etc/security/cacerts/9d4a1b5a.0

0x07 设置代理,测试HTTPS抓包:

  • 查看 charles 监听的 ip 与端口:
  • 模拟器设置对应代理,adb 执行命令:settings put global http_proxy 192.168.0.101:8888
  • 测试抓包 HTTPS:

前提先设置允许代理 SSL,代理所有 443 端口链接

如何将抓包工具证书(cer,crt, pem)写入到Android系统内置根证书目录中实现 HTTPS 抓包_https_12

如何将抓包工具证书(cer,crt, pem)写入到Android系统内置根证书目录中实现 HTTPS 抓包_网络协议_13



标签:crt,证书,openssl,system,pem,adb,Android,模拟器
From: https://blog.51cto.com/u_16117621/6292699

相关文章

  • 服务器 nginx 前端配置 SSL 证书并能访问 HTTPS
    安装以下步骤,按图索骥即可。 首先,没安装nginx的去这个地址,安装nginx。本人版本是(1.18.0).https://nginx.org/安装好了之后,在nginx目录下执行cmd运行命令nginx.exe-V出现以下情况就证明nginx自带了SSL模块了,不需要额外安装 有了上面这个东西之后,nginx底下......
  • 自签SSL证书
    自签SSL证书key私钥=明文--自己生成(genrsa)csr公钥=由私钥生成crt证书=公钥+签名(自签名或者由CA签名)生成私钥需要输入密码两次12345678(随便输)opensslgenrsa-des3-outserver.pass.key2048生成私钥server.key输入上面的密码opensslrsa-inserv......
  • STM32fcu,燃料电池控制器,质子交换膜燃料电池系统模型(PEMFC),基于MATLAB/simulink开发,主要
    STM32fcu,燃料电池控制器,质子交换膜燃料电池系统模型(PEMFC),基于MATLAB/simulink开发,主要部分有空压机模型,供气系统模型(阴极和阳极),背压阀模型,电堆模型等。可进行控制策略等仿真开发工作。ID:4745692172825523......
  • Secure Connection Failed 安全连接失败无效的证书解决
    SecureConnectionFailed安全连接失败无效的证书解决删除配置文件即可 点击菜单帮助 选择更多故障排除信息 找到配置文件 把浏览器关闭打开配置删除 cert9.db即可   添加例外即可进入 ......
  • fcu,燃料电池控制器,质子交换膜燃料电池系统模型(PEMFC),基于MATLAB/simulink开发,主要部分
    fcu,燃料电池控制器,质子交换膜燃料电池系统模型(PEMFC),基于MATLAB/simulink开发,主要部分有空压机模型,供气系统模型(阴极和阳极),背压阀模型,电堆模型等。可进行控制策略等仿真开发工作。提供相关文档学习建模资料等ID:2750685458971559......
  • 就业内推 | 上市公司招高级网工,HCIE/CCIE证书优先,最高35k
    01中软国际招聘岗位:中高级网络工程师职责描述:1、负责华为数通产品(交换机、路由器、WLAN)、安全产品(防火墙、入侵检测、AntiDDoS硬件设备等)项目售后实施,主要包括设备版本补丁升级、设备安装调测、业务割接上线、项目验收等;2、负责客户网络故障维护处理,设备巡检,版本整改等工作;3、负责......
  • 服务器上的证书有哪几种格式 答案来自chatGPT
    在Linux服务器上常见的证书格式有以下几种:PEM格式:PEM(PrivacyEnhancedMail)是基于Base64编码的密钥证书文件格式,主要用于OpenSSL的证书以及各种Web服务器,如Nginx、Apache等。PEM格式的文件一般以.pem或.crt为后缀名。DER格式:DER(DistinguishedEncodingRules)是二进制格式的密钥......
  • 如何使用appuploader制作apple证书​
    转载:如何使用appuploader制作apple证书​ 1.证书管理​点击首页的证书管理2.新建证书​点击“添加”,新建一个证书文件(PS:推荐勾选密码下面的蓝字字体内容),免费账号制作证书只有7天有效期,没有推送消息功能,推送证书是用来配置在网站上推送的。不是用来打包编译app的。​并且免......
  • 最全的免费SSL证书申请方式
    在SSL广泛普及的今天,申请一张免费的SSL证书是一件非常容易的事情。这里为大家总结当前阶段(2023年)拥有一张免费SSL证书的方式。首推的方式为来此加密网站,文章后面会有详细的介绍。下面介绍几种获取免费SSL证书的方式,大家可以根据自己的情况选择合适的。一、支持ACME的平台ACME......
  • openssl 生成k8s 证书
    生成一个2048位的ca.key文件opensslgenrsa-outca.key2048在ca.key文件的基础上,生成ca.crt文件(用参数 -days 设置证书有效期)opensslreq-x509-new-nodes-keyca.key-subj"/CN=${MASTER_IP}"-days10000-outca.crt生成一个2048位的serv......