APP渗透 | 解决安卓7+无法抓取数据包问题

2021-12-11|

公众号:白帽子左一
领取配套练手靶场、安全全套课程及工具...

前言

在日常渗透项目中,app渗透可以说是家常便饭了。

但由于安卓7以后不信任用户安装的证书,很多时候无法正常抓取数据包,很是烦人。网上大多数的解决方法都是去买一个低版本的安卓手机来测试,我最开始也是这样做的,可自从遇到一些安卓7以下无法运行的app的时候,就发现这种方法还是不靠谱。

既然用户安装的证书不信任,那能不能直接从系统装呢?


经过一番问询和搜索后,确实是可以的。所以又是几天的实验和整理,就有了这篇文章。整理出来方法稍微复杂,但可以一劳永逸,不管是针对实体机还是模拟器,不管是安卓7还是安卓10,都可以完美解决因证书不信任问题导致的无法抓取数据包。


环境说明


本次实验使用的实体机是一加5,系统是安卓10,已root,抓包软件使用的是burpsuite。


正文


一、openssl转换burp证书格式


  • 首先运行burpsuite,导出证书至桌面

  • 安装openssl环境

openssl用于证书格式转换,windows下安装很简单,参考以下链接从第2步安装即可

https://blog.csdn.net/sunhuansheng/article/details/82218678

  • 安装成功后,进行证书格式转换。cmd命令行模式下输入:

openssl x509 -inform DER -in cacert.der -out cacert.pem

  • 再计算证书MD5值:

openssl x509 -inform PEM -subject_hash_old -in cacert.pem

  • 最后,将证书重命名为:9a5ba575.0

二、adb连接手机shell安装证书


  • 安装adb工具

很简单,参考以下链接,如果系统装有夜神模拟器的话,使用夜神自带的adb工具也是可以的:


https://blog.csdn.net/x2584179909/article/details/108319973

  • usb连接手机

这里需要手机开启usb调试,usb调试是在开发者选项里开启,怎么打开开发者选项不同手机不一样,但安卓机都会有,可根据手机型号自行百度。


  • adb验证手机是否已经连接

adb devices

  • 上传证书到手机的/sdcard目录下:

adb push C:\Users\Administrator\Desktop\9a5ba575.0 /sdcard/

  • 连接手机shell

adb shell

su

  • 以读写方式(rw)重新挂载/分区:

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


标签: 安卓 证书 手机 安装 可以 模拟器 openssl 方法 抓取 https
出处: https://www.toutiao.com/a7037388659137561101/

文明发言,请先登录

文明上网理性发言,请遵守国家法律法规。

最新评论

©2003- 黑基网 黑名单存档手机版网站地图免责条款法律声明隐私保护