公众号:白帽子左一
领取配套练手靶场、安全全套课程及工具...
在日常渗透项目中,App渗透可以说是家常便饭了。
但由于Android/ target=_blank class=infotextkey>安卓7以后不信任用户安装的证书,很多时候无法正常抓取数据包,很是烦人。网上大多数的解决方法都是去买一个低版本的安卓手机来测试,我最开始也是这样做的,可自从遇到一些安卓7以下无法运行的app的时候,就发现这种方法还是不靠谱。
既然用户安装的证书不信任,那能不能直接从系统装呢?
经过一番问询和搜索后,确实是可以的。所以又是几天的实验和整理,就有了这篇文章。整理出来方法稍微复杂,但可以一劳永逸,不管是针对实体机还是模拟器,不管是安卓7还是安卓10,都可以完美解决因证书不信任问题导致的无法抓取数据包。
本次实验使用的实体机是一加5,系统是安卓10,已root,抓包软件使用的是burpsuite。
openssl用于证书格式转换,windows下安装很简单,参考以下链接从第2步安装即可:
https://blog.csdn.NET/sunhuansheng/article/details/82218678
openssl x509 -inform DER -in cacert.der -out cacert.pem
openssl x509 -inform PEM -subject_hash_old -in cacert.pem
很简单,参考以下链接,如果系统装有夜神模拟器的话,使用夜神自带的adb工具也是可以的:
https://blog.csdn.net/x2584179909/article/details/108319973
这里需要手机开启usb调试,usb调试是在开发者选项里开启,怎么打开开发者选项不同手机不一样,但安卓机都会有,可根据手机型号自行百度。
adb devices
adb push C:UsersAdministratorDesktop9a5ba575.0 /sdcard/
adb shell
su
system目录默认是只读权限,通过该方式才能有写入权限。
mount -o rw,remount -t auto /
mount -o remount,rw /system (上条命令如果报错使用这条)
cp /sdcard/9a5ba575.0 /system/etc/security/cacerts/
chmod 644 /system/etc/security/cacerts/9a5ba575.0
reboot
以上就是全部步骤,在将证书成功导入后,在burp端设置监听ip和端口,在手机端设置代理后(网上教程很多,可自行百度),就可以顺利抓包了。
如下为新浪微博抓包截图:
以上就是安卓7+因证书问题导致APP无法抓取数据包的解决方法,上面是实体机,但模拟器类似,夜神模拟器从安卓7到安卓9使用同样方法,全部都可以正常抓包。
https://blog.csdn.net/sunhuansheng/article/details/82218678
https://blog.csdn.net/x2584179909/article/details/108319973
原文地址:
https://sec-in.com/author/5083