1.工具准备
夜神模拟器(安卓7)
burpsuite 2024
kali 2024
2.介绍
使用bp抓包app,可以使用bp自带证书,但是安卓只支持cer后缀,所以要将下载的证书后缀der改为cer,然后在模拟器中导入证书。但是安卓7及以上版本默认是不信任用户自己安装的证书的,所以我们要将自己的bp证书添加到模拟器的system系统分区。
3.操作
3.1修改证书名为MD5值
打开burpsuite,打开监听,默认监听127.0.0.1的8080端口。
访问127.0.0.1:8080
点击右上角CA Certificate下载bp自带证书,
将下载好的cacert.der证书文件导入kali中,使用kali自带的openssl将der格式转为pem格式
openssl x509 -inform DER -in cacert.der -out cacert.pem
然后使用openssl计算证书的MD5值
openssl x509 -inform PEM -subject_hash_old -in cacert.pem | head -1
计算出MD5值为9a5ba575
修改证书名为MD5值
mv cacert.pem 9a5ba575.0
3.2将证书导入模拟器的system系统分区
默认系统分区是read-only,也就是只读。需要进行操作解除限制。
我们先将证书放到夜神模拟器的安装目录下(宿主机的夜神安装目录的bin目录)。
在bin目录下打开cmd:执行如下命令连接夜神虚拟机:
adb connect 127.0.0.1:62001
adb devices
然后进入root权限,并把证书导入到system系统分区:
adb root #提升到root权限
adb remount #重新挂载system分区
adb push 9a5ba575.0 /system/etc/security/cacerts/ #将证书放到系统证书目录
进入adb shell,给系统分区中的证书添加权限,并重启:
adb shell
chmod 644 /system/etc/security/cacerts/9a5ba575.0
reboot
在adb shell中,进入/system/etc/security/cacerts目录查看是否导入:
adb shell
cd /system/etc/security/cacerts/
ls
发现导入9a5ba575.0成功。
3.3尝试抓包
点击模拟器的wifi,长按选择修改网络,添加手动代理,ip为宿主机的ip,端口自定义为12340.
使用bp监听宿主机的12340端口即可抓包。此时抓包不会再显示证书不安全。