移动安全-环境搭建
环境清单:
1、MacOs 、burp、xposed、夜神模拟器3.8.5.7、Android系统7.1、微信8.0.3版本
1、模拟器安装burp证书进行抓包
(1)burp添加自己的Ip地址
(2)夜神模拟器修改wifi网络,代理网络和burp地址和端口一致
(3)浏览器输入证书网站:http://192.168.2.30:8080,下载证书,导出证书为test.cert
(4)因Android 7.0(API 24)开始到Android 8.1(API 27),Android默认不再信任用户添加的CA证书,除非App有明确说明,否则应用程序将只会信任系统级别的CA证书。因此需要安装系统证书。
使用openssl的x509指令进行cer证书转pem证书,并用md5方式显示pem证书的hash值。
1、证书转换成pem文件: openssl x509 -inform DER -in test.cer -out cacert.pem
2、查看openssl版本: openssl version
3、执行openssl命令
#openssl版本在1.0以上的版本的执行: openssl x509 -inform PEM -subject_hash_old -in cacert.pem
#openssl版本在1.0以下的版本的执行: openssl x509 -inform PEM -subject_hash -in cacert.pem
4、将pem证书重命名
系统级证书的命名规则为:<Certificate_Hash>.<Number>,其中Certificate_Hash表示证书文件的hash值,Number是为了防止证书文件的 hash值一致而增加的后缀。
将第二条指令输出的类似9a5ba575的hash值进行复制,之后使用下面命令重命名pem证书:
mv cacert.pem 9a5ba575.0
5、导入证书
系统级别的受信任证书以特殊格式存储在/system/etc/security/cacerts文件夹中,所以需要将转换完成的证书导入进手机系统目录该位置。
执行adb push 9a5ba575.0该文件所在路径 /system/etc/security/cacerts
拷贝证书至/system/etc/security/cacerts之后,重启手机就可以使证书生效了,如下图所示可以看到Burpsuite工具的证书在系统级别里显示:
另外,使用夜神模拟器的时候,打开浏览器可能会遇到提示“该网站的安全证书有问题”不停的跳出的问题,可以使用下面的解决办法:
首先,我们使用鼠标左键,在弹出安全警告的提示框中点击继续按钮,直到点击没有此窗口为止。
然后在点击到没有的时候,点击右上角设置按钮(如图所示,三个小点),进入其中;
在跳出的界面,找到隐私和安全下拉框下的“显示安全警告”选项,在红框位置点击鼠标左键取消打勾后返回,这一步之后浏览任何网站都不会跳出此种安全警告了
如上可以抓模拟器APP和微信小程序的包了,但是如何APP做了加固等手段,需要其他xposed+justTrustMe或者frida等手段。
2、模拟器安装xposed
经其他文章测试无法安装成功:https://support.yeshen.com/zh-CN/qt/xp
主要出现两个问题:
(1) 安装Xposed框架特慢,可以借助psiphon3该代理来安装,可以解决该问题。
(2) 安装完xposed框架之后,重启手机直接导致模拟器卡死,无法进入。
下面是手工安装教程:
1、更改夜神模拟器adb
2、如果出现Read-only file system, 可以先行处理
3、开始安装xposed
1、共享文件夹复制
ln -s /Users/xxxx/Library/Application Support/NoxAppPlayer/Nox_share ~/Documents
文档目录下会出现 Nox_share 文件夹
2、将x86_xposed.zip上传到/mnt/shared/Other
adb push x86_xposed.zip文件路径 /mnt/shared/Other
3、解压并 运行脚本
参考链接:
http://91fans.com.cn/post/emuxposedfrida/#gsc.tab=0
https://blog.csdn.net/qq_28993251/article/details/122948251