app抓包获取资产
1.打开模拟器,和电脑连接同一个wifi,让模拟器和电脑处于同一局域网,在模拟器配置代理。
burp开启监听
模拟器开启app,burp成功获取资产信息
有时候明明配置没问题,为什么抓不到app数据包呢?
1.目标没走http/s协议
解决方案:抓取目标使用的协议或者全局(全协议)抓包
2.目标设置了反虚拟机
解决方案:使用手机配合抓包即可
3.目标设置了反代理或证书校验的检测—防抓包机制
app抓包——反代理和证书校验绕过
尝试抓取探探app的数据包,burp开启监听,发现从进入app到发布动态都没有监听到任何数据包,甚至app还产生了【没有网络信号,请再试一次】的错误。
但是只要关闭代理,不监听app就会恢复正常
这种情况就是app有证书校验,我们需要解决证书问题才能抓包获取资产信息
解决app证书校验无法抓包问题---Frida
Firda 是一款易用的跨平 Hook 工具, Java 层到 Native 层的 Hook 无所不能,是一种 动态 的插桩工具,可以插入代码到原生 App 的内存空间中,动态的去监视和修改行为,原生平台包括 Win、Mac、Linux、Android、iOS 全平台。
测试环境:
Windows11 Python3.8 夜神模拟器(逍遥模拟器试了好像不行) r0capture+frida-server+wireshark
夜神:https://dl.qhhnwl.cn/sinfo/2000003917_4002475.html
1.本地安装frida—tools版本
执行命令:
pip install frida
pip install frida-tools
安装成功,执行命令:pip list 查看安装版本信息
2.模拟器安装frida—server版本
注意:版本要与本地Frida一致
进入模拟器的bin目录,打开命令行,执行:nox_adb.exe devices 检测连接设备
在执行:nox_adb.exe shell 连接设备
成功连接模拟器之后安装frida——server
frida下载:https://github.com/frida/frida/releases
输入:getprop ro.product.cpu.abi 查看模拟器位数
查询出是32位的,所以我们要下载32位的。下载的frida版本一定要和本地的一样
Frida——server下载完成,解压后放到夜神bin目录
回到命令行,输入:exit 退出连接
在输入:nox_adb.exe push 你的frida名称 /data/local/frida-server 安装frida
模拟器查看/data/local/目录,成功安装
3.模拟器启动frida—server
输入:nox_adb.exe shell 连接模拟器设备
输入:cd /data/local/
输入:chmod 777 frida-server 给执行权限
输入:./frida-server 启动frida服务
执行之后没有反应就是执行成功了,重新在夜神bin目录开一个命令行
输入:nox_adb.exe shell
输入:ps | grep frida-server 查看服务进程
可以看到服务正在运行,启动成功
4.本地连接frida
启动本地命令行,
输入:frida-ps -U
有进程信息说明连接成功,这个进程信息就是模拟器的进程信息。
在输入:frida-ps -R
运行不成功
在夜神bin目录启动命令行
输入:adb forward tcp:27042 tcp:27042 转发请求
再次回到本地命令行执行:frida-ps -R
成功获取进程
模拟器运行一个app,本地命令行输入:frida-ps -R
成功出现运行app的进程。保证这一点环境就已经配置成功了。
5.启动脚本抓包——解决证书问题
脚本:https://github.com/r0ysue/r0capture
r0capture描述:
1.r0capture仅限安卓平台,测试安卓7、8、9、10、11 可用 ;
2.无视所有证书校验或绑定,不用考虑任何证书的事情;
3.通杀TCP/IP四层模型中的应用层中的全部协议;
4.通杀协议包括:Http,WebSocket,Ftp,Xmpp,Imap,Smtp,Protobuf等、及它们的SSL版本;
5.通杀所有应用层框架,包括HttpUrlConnection、Okhttp1/3/4、Retrofit/Volley等等;
6.无视加固,不管是整体壳还是二代壳或VMP,不用考虑加固的事情。
想要运行脚本首先要知道app包名:
在模拟器安装一个【APK资源提取器】
工具:http://www.2265.com/soft/410141.html
打开之后可以看到所有应用的包名
脚本根目录打开命令行,
输入:python r0capture.py -U -f app包名 -p 要保存名字.pcap
夜神就会自动启动探探app
开始各种协议抓包……
注意:抓包之前要对探探app完成注册登录,否则抓包会卡在登录页面,等你登录之后才会继续抓包
抓包完成,在脚本根目录生成一个.pcap的文件
使用工具wireshark打开文件,可以看到抓到的各种协议的数据包
工具:https://github.com/wireshark/wireshark
成功绕过证书校验抓取数据包,就可以在这些数据包中收集资产信息。
如果想要操作数据包,可以联动Fiddler和Burpsuit。联动Burpsuit只能操作http/s的数据包。