因为网上体系的对于安卓内APP和小程序抓包的教程并不完整,大部分是部分的,出于此写下这篇文章。
推荐用于渗透测试的手机:小米、三星(因为这两款解BL锁方便)
作者实现的方案是Magisk+LSPosed+TrustMeAlready+Fiddler+Burp 会有较多的细节,烦请仔细阅读。
示例机型:Samsung Galaxy Note 10+(SM-N9760)
在Android上,我们想对HTTPS网站使用BURP和Fiddler进行抓包,需要安装证书,安卓证书分为两种:用户证书和系统证书,但是在我们没有root权限的情况下,一般安装完的证书是属于用户证书,而在Android 7以上,系统已经不信任用户证书了,会导致安装的BURP和Fiddler或者其他抓包工具的证书失效,而想要将用户证书变为系统证书需要先root,安装LSP框架也需要root。注:LSP框架(LSPosed)
如果需要ROOT手机,现在常用的方案就是给手机刷入Magisk(面具),想要刷入面具,就得刷入TWRP,不刷也可以,但是刷入之后会方便后期更多的需求(个人建议是能刷就刷),想要刷入TWRP就得解锁BL锁。
BL锁是手机厂商设置的,防止刷机,保证自家OEM的完整性和生态。
总结来说,我们想把一台不算老旧的手机进行root,需要以下操作:
解锁BL锁->刷入TWRP->刷入Magisk->Success。
在通过TWRP刷入Magisk时,做出补充:
访问官网下载Magisk的APK:
https://github.com/topjohnwu/Magisk/releases/
下载之后,将APK文件复制一份,然后修改其中一份的后缀为zip。
之后您将有两份文件:Mgaisk.apk && Magisk.zip
将手机开机至TWRP界面,使用数据线连接电脑,将Magisk.zip传输到手机的文件夹中,随意哪一个,推荐放TWRP文件中,以下为一张示意图,不是作者示例操作的图(方便讲解):
选择Install Image,等待进度条走完,重新开机即可。
给出小米手机刷入TWRP教程:http://www.romleyuan.com/lec/read?id=201
三星手机可以参考:https://myphoneupdate.com/root-samsung-galaxy-note-10/
假设现在的进度是:您已经通过TWRP刷入的Magisk,然后在刷入后第一次开机
如果是通过TWRP方式刷入的Magisk,开机后显示的Magisk应用程序图标会是一个Android图标,这时候需要安装上文中提到的Magisk.apk,使用传输工具,将Magisk.apk传输到手机上,进行安装(QQ和微信都可以)。
安装完打开Magisk:
如上图所示(示意图,并非作者实际操作过程的图),那就没问题,已经ROOT成功了!
之后,我们给Magisk刷入LSPosed,作者是基于Zygisk,因为至发文为止,现在的Magisk版本为24.3,已经没有自带隐藏root功能(之前的Magisk存在这项功能),为了满足某些情况下需要隐藏root的需求,作者采取了Zygisk+Shamiko(白名单)的方案进行隐藏ROOT。
LSPosed下载链接:
https://github.com/LSPosed/LSPosed/releases/
如果需要使用zygisk,需要打开Magisk中的Zygisk功能:
下载之后随意放到手机哪个目录,能找到就行,选择从本地安装:
之后重启手机即可。
重启之后,桌面上会显示LSPosed框架的图标,之后我们准备安装TrustMeAlready,给出下载链接:
https://github.com/ViRb3/TrustMeAlready
下载之后是个APK,安装到手机即可。
前面提到了我们需要安装证书,首先,为了方便我们后续安装证书,需要安装一个Magisk模块:Move Certificates
但是安装这个模块的时候,作者遇到了问题,为了解决这个问题需要安装:Fox’s Magisk Module Manager
给出下载链接: https://github.com/Fox2Code/FoxMagiskModuleManager
使用这款软件,需要科学上网,这个自行解决。这款软件就是Magisk的模块仓库,可以搜索到很多模块,我们使用这个方式安装Move Certificates
首次打开会需要等待仓库加载,看个人网络环境……并且这软件容易卡死,要稍微有点耐性,等仓库加载完之后,点左下角搜索:
move,就可以搜到Move Certificates模块,点击安装即可。
之后我们安装Burp和Fidller的证书,安装完成之后重启手机即可。
至此证书安装已经完成了。
完成之前的工作之后,我们需要配置Burp和Fiddler,需要它们串联,如果不串联,很多包就抓不到。
先配置Fiddler,全程图片教程:
1.打开选项:
2.打开HTTPS抓包:
3.这一步是为了给电脑安装证书,根据Fiddler的提示走下去就可以了:
这一步是为了串联Burp:
BURP的话没有什么配置,开启,打开监听就好了。
假设此时,我们需要抓微信小程序的包,我们需要在TrustMeAlready模块中勾选微信和微信小程序:
之后强制停止运行微信,再打开,使得模块生效(其他APP也一样)。
到此为止,所有工作都已经结束了
常见问题:
如何解锁BL锁?
ans:因为每个品牌的手机解锁BL锁的方式不同,所以需要根据自己的手机型号自行百度。
已知问题:
1. 部分APP端的数据包抓不到。
欢迎各位大佬批评指正,交流。博客主页有微信二维码。
Android,抓包 — Apr 5, 2022
Made with ❤ and at Earth.