模拟器app burpsuite抓包
工具:夜神模拟器+burp suite,kali内openssl工具
注意点:1.没有证书但设置了wifi代理能够抓取http的包,但是对于https的包无法抓取,流量出去但是无法代理也找不到目标服务器了。2.直接在系统设置-安全-从SD卡安装证书安装的是用户证书,而不是系统证书。
抓包条件:
1.模拟器WiFi修改为本地电脑IP代理,端口与burp suite对应。
2.导入系统证书(在安卓7.0以上的系统版本中,app默认不信任用户安装的证书,只默认信任系统证书,需要将bp证书导入在系统证书内)。
一、修改代理
1.打开设置-wlan长按连接的网络,选择修改网络
2.在高级选项中设置代理,代理服务器主机名为自己电脑IP,端口和burpsuite设置的端口一致即可。
二、导入系统证书
1.导出bp证书
方法一
2.导入用户证书
将cacert.der证书重命名为cacert.cer,然后复制到模拟器中,证书会出现在/storage/emulated/0/Pictures目录中
3.进入模拟器中设置-安全-从SD卡安装证书,选择证书导入
证书名称设置一个好认的名字就好。第一次添加证书会要求设置手机密码,设置什么密码都可以。
4.打开文件管理器(记得开启Root权限,模拟器右上角设置中开启)
进入根目录,然后进入/data/misc/user/0/cacerts-added(该目录存储的是用户自己安装的证书文件)
将这个证书文件粘贴到/etc/security/cacerts中(该目录存储的是系统证书文件)
方法二
2.转换证书格式
直接用kali内的工具进行转换,并重命名cacert.pem文件为9a5ba575.0 (图中计算出的值)
转换格式 openssl x509 -inform DER -in cacert.der -out cacert.pem 计算证书hash值 openssl x509 -inform PEM -subject_hash_old -in cacert.pem
重命名
mv cacert.pem 9a5ba575.0
3.使用adb上传证书至模拟器
(1)打开模拟器的adb.exe所在目录,并将证书9a5ba575.0复制到这个文件夹
(2)在这个目录下打开cmd命令行
(3)命令查看设备的连接情况,如图就是正常,进行上传文件
adb.exe devices adb.exe push 9a5ba575.0 /sdcard/
(4)以读写方式(rw)重新挂载/分区
system目录默认是只读权限,通过该方式才能有写入权限,才能将证书导入system目录。
adb.exe shell mount -o remount,rw /system
如果挂载报错则使用下面这条命令进行临时挂载上/system文件夹,直到下一次重启
mount -o remount -o rw /
(5)将证书复制到系统安全目录并给读写权限,然后reboot重启模拟器即可
cp /sdcard/9a5ba575.0 /system/etc/security/cacerts/ chmod 644 /system/etc/security/cacerts/9a5ba575.0 reboot
(6)在模拟器中设置-安全-信任的凭据中确认系统中多出了新添加的系统证书