
https-capture

使用 Burp Suite 抓取 MuMu 模拟器 HTTPS 流量的终极指南
前言
在移动应用安全测试中,抓取并分析 HTTPS 流量是关键一步。然而,由于 Android 系统对证书信任机制的加强,将抓包工具(如 Burp Suite)的 CA 证书安装为系统级可信证书变得至关重要。本指南将详细介绍如何配置 MuMu 模拟器和 Burp Suite,以成功拦截和解密 HTTPS 数据包。
一、环境准备
在开始之前,请确保您已准备好以下软件和工具。
1. 核心软件
- Burp Suite: 强大的 Web 应用程序安全测试平台。
- MuMu 模拟器: 一款流畅且易于开启 Root 权限的 Android 模拟器。
- Git for Windows: 主要用于其附带的 Git Bash 环境,该环境内置了处理证书所需的
openssl
工具。- 下载地址: https://git-scm.com/download/win
- 安装提示: 安装过程中,直接使用默认设置,一路点击“Next”即可。
2. ADB (Android Debug Bridge) 工具包
ADB 是连接和调试 Android 设备(包括模拟器)的桥梁。
下载 Platform-Tools:
- 访问 Android 官方下载页面: https://developer.android.com/studio/releases/platform-tools
- 找到并下载适用于 Windows 的
SDK Platform-Tools
压缩包。
解压与路径建议:
将下载的
.zip
文件解压。为方便后续在命令行中调用,建议将解压后的
platform-tools
文件夹放置在路径简单的位置,例如C:\platform-tools
。此时,adb.exe
的完整路径为C:\platform-tools\adb.exe
。
配置系统环境变量:
目的: 让您的电脑系统能在任何路径下识别
adb
命令。步骤:
在开始菜单搜索“编辑系统环境变量”并打开。
在弹出的“系统属性”窗口中,点击“环境变量”。
在“系统变量”区域,找到并选中
Path
变量,点击“编辑”。点击“新建”,然后输入您解压的
platform-tools
文件夹路径(例如:C:\platform-tools
)。在所有打开的窗口中一路点击“确定”以保存更改。
验证 ADB 配置:
关键一步: 关闭所有已打开的命令行窗口(如 PowerShell 或 CMD),然后重新打开一个新的。 环境变量的更改只对新会话生效。
在新的命令行窗口中,输入以下命令:
PowerShell
1
adb version
如果成功输出 Android Debug Bridge 的版本信息,则证明 ADB 已配置成功。
二、开启 MuMu 模拟器 Root 权限
为了将 Burp Suite 的 CA 证书安装到系统信任区(/system/etc/security/cacerts/
),必须获取模拟器的 Root 权限。MuMu 模拟器提供了便捷的 Root 开启方式。
- 打开 MuMu 模拟器右上角的“设置中心”。
- 进入“高级设置”。
- 找到“Root 权限”选项并开启。模拟器可能会提示需要重启,请确认重启。
三、证书处理与安装
这是整个流程的核心环节,请务必仔细操作。
步骤 3.1:配置 Burp Suite 代理监听
打开 Burp Suite,进入 Proxy > Options 标签页。
在 Proxy Listeners 区域,点击 Add(或编辑默认的
127.0.0.1:8080
)。在 Bind to address 选项中,选择您电脑在局域网中的 IP 地址(通常以
192.168.*.*
开头)。这样可以确保模拟器能通过网络访问到 Burp Suite 的代理服务。点击 OK 保存设置。
[^图为在 Burp Suite 中将代理监听器绑定到本机局域网 IPundefined]:
步骤 3.2:下载 Burp Suite 的 CA 证书
在浏览器中,访问代理地址:http://127.0.0.1:8080/
在打开的页面右上角,点击
CA Certificate
按钮,下载证书文件。文件名通常是cacert.der
- 会出现一个这样的标示,然后去下载地址中找寻该文件所在的位置
"D:\下载\cacert.der"
这个就是我文件所在的位置(后续就以此文件位置完成演示)
步骤 3.3:转换证书格式
Android 系统证书目录要求证书为 PEM 格式,并且文件名必须是其内容的特定哈希值,以 .0
结尾。
导出证书到电脑:
首先,我们需要将模拟器中的
cacert.der
文件复制到电脑上进行处理。打开 Windows PowerShell,执行以下命令:PowerShell
1
2
3# 注意: 127.0.0.1:7555 是 MuMu 模拟器常见的 ADB 地址,请根据实际情况调整
# "D:\下载" 是您希望保存证书的本地路径,请按需修改
adb -s 127.0.0.1:7555 pull /sdcard/Download/cacert.der "D:\下载"
计算证书哈希名:
打开 Git Bash(因为它内置了
openssl
工具)。使用
cd
命令切换到您刚才保存证书的目录:Bash
1
2# 示例路径,请替换为您自己的路径
cd /d/下载执行以下命令计算哈希值:
Bash
1
openssl x509 -inform DER -in cacert.der -subject_hash_old -noout
命令行会输出一串8位的十六进制字符(例如
9a5ba575
)。请复制这串字符,它就是证书的新文件名基础。
转换并重命名证书:
继续在 Git Bash 中,执行以下命令。注意:请将命令中的
9a5ba575
替换为您上一步复制的哈希值。Bash
1
openssl x509 -inform DER -in cacert.der -outform PEM -out 9a5ba575.0
执行后,在您的
D:\下载
目录下会生成一个新文件,例如9a5ba575.0
。这便是我们需要的最终证书文件。
步骤 3.4:将证书导入模拟器系统目录
现在,我们将处理好的证书文件推送回模拟器,并放置到正确的位置。
上传处理后的证书:
回到 Windows PowerShell 窗口。
使用
adb push
命令将新证书上传到模拟器的下载目录。记得替换为您自己的哈希文件名和路径。PowerShell
1
adb -s 127.0.0.1:7555 push "D:\下载\9a5ba575.0" /sdcard/Download/
看到
1 file pushed
的提示即表示上传成功。
安装证书到系统目录:
请严格按照以下顺序,在 Windows PowerShell 中执行命令。
第一步:进入模拟器的 Shell 环境
PowerShell
1
adb -s 127.0.0.1:7555 shell
(命令提示符会变为
$
)第二步:切换到 Root 用户
Bash
1
su
(命令提示符会变为
#
)第三步:重新挂载系统分区为可读写
Bash
1
mount -o rw,remount /system
第四步:将证书移动到系统证书目录
Bash
1
2# 同样,记得替换文件名
mv /sdcard/Download/9a5ba575.0 /system/etc/security/cacerts/第五步:设置正确的文件权限 (644)
Bash
1
2# 替换文件名
chmod 644 /system/etc/security/cacerts/9a5ba575.0第六步:重启模拟器以应用更改
Bash
1
reboot
四、验证结果
模拟器重启后,证书即被系统信任。此时,打开任意需要 HTTPS 通信的应用,您应该可以在 Burp Suite 的 Proxy > HTTP history 标签页中看到解密后的 HTTPS 请求和响应数据。
图为 Burp Suite 成功拦截并解密来自 MuMu 模拟器的 HTTPS 流量
- 标题: https-capture
- 作者: Ron
- 创建于 : 2025-09-14 00:00:00
- 更新于 : 2025-09-17 20:10:32
- 链接: https://blog.ronharry.xin/posts/20250914.html
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。