-
-
[原创][Android]记一次艰难的Android11抓包过程
-
2024-3-25 20:55
25673
-
[原创][Android]记一次艰难的Android11抓包过程
前言
最近开始学习app渗透,抓包是必不可少的过程,接下来记录一下我遇到的一些小麻烦。
设备环境
![file](upload/attach/202403/979679_RNT7Z248CJTXSXW.jpg)
问题
首先呢,由于Android版本大于等于7.0之后系统不再信任用户的CA证书(应用 targetSdkVersion >= 24 时生效,如果 targetSdkVersion < 24 即使系统是 7.0 + 依然会信任)简而言之就是如果只是用户CA证书那么https包就抓不到了。
方法一(手动将证书移动至/system/etc/security/cacerts/)(未解决)
由于我们采用的抓包工具是burpsuit,那我们这里就以burpsuit的抓包方式举例子。
首先下载burpsuit的证书(访问burpsuit的监听端口即可)
![file](upload/attach/202403/979679_2UWGQHD8E5UKJFX.jpg)
下载好了之后,首先需要计算cacert.der的哈希值 ,命令如下。
1 | openssl x509 -inform der -subject_hash_old - in cacert.der -noout
|
得到的应该都是9a5ba575
那么将文件名称更改为9a5ba575.0,传入到我们手机中。
如果直接一步到位,大概率会出现如下情况
![file](upload/attach/202403/979679_WJRJ4YC49ET8HBP.jpg)
出现这种情况的原因很多,有可能是没有使用adb root 来让adb终端的默认权限是root,如果adb root无法使用可能是因为io.debuggable不为1导致的。可以使用如下命令查询
1 | adb shell getprop ro.debuggable
|
既然不能这样那么我们不妨先push到/data/local/tmp中,再移动到/system/etc/security/cacerts/,按理说这就是系统默认信任证书的文件夹,我们移动过去应该就可以成功装上证书了,但是奇怪的一幕发生了。
![file](upload/attach/202403/979679_QV6CB2MHGS3CHDJ.jpg)
(崩溃...)
后经检查发现,是我的system分区没有解锁
别的版本解锁请看如下文章:
http://m.romjd.com/reviews/content/7448
方法二(Magisk模块大法)
到了安卓11和安卓12机型,已经不能通过TWRP或者syslock软件暴力解锁system分区啦,已知目前解锁system方法,都是对系统分区进行2次打包改造,实现解锁system分区的效果。
emm不会,本文到此结束!
当然,结束是不可能结束的,正所谓柳暗花明又一村,Magisk有一个模块可以完美解决我们的问题!
项目地址分享如下:https://github.com/Bloody-Badboy/Move-User-Certificates
刷上上模块之后我们将cacert.der改成cacert.cer
![file](upload/attach/202403/979679_XPJRYTK6JUBPB4E.jpg)
直接安装证书就可以了,模块就会自动帮我们加载成系统证书
![file](upload/attach/202403/979679_WSR8KZSG5K2UMWD.jpg)
上代理抓包!
记录主机地址
![file](upload/attach/202403/979679_ERPYWAV9TMZWKX8.jpg)
记录手机地址
![file](upload/attach/202403/979679_N5HYCNRUHYFECJE.jpg)
设置监听
![file](upload/attach/202403/979679_W3ZE74UZ93R6DRX.jpg)
设置代理
![file](upload/attach/202403/979679_Y8KU4W728VHWY3X.jpg)
Over!!
![file](upload/attach/202403/979679_4CCGQ9MVVH9DSC4.jpg)
[竞赛]2024 KCTF 大赛征题截止日期08月10日!