*郑重声明:文中涉及的方法,只为交流学习之用。如有人用于非法用途,产生的后果笔者不负任何责任。
0×00前言
在做一次App渗透测试项目中,发现设置代理后使用BurpSuite抓不到包,尝试使用了Drony等工具都无法进行抓包,而且App也被加固,由于技术太菜无法脱壳...那该怎么办呢?放弃吗?不可能!作为一个刚满十八岁的帅气少年,怎么能轻易说放弃!(不测没钱恰饭 -_- )于是便有了此文!
0×01 发现无法抓包
在测试过程中使用BurpSuite进行抓包,发现无法抓包:
0×02 安装Frida客户端环境+大佬写的反检测版本的frida-server
首先我们需要安装Frida环境,网上教程一大堆,我写的不清楚的可以参考其它大佬写的~
Windows安装Frida客户端:
# 安装frida pip install frida # 安装frida-tools pip install frida-tools # 查看版本 frida --version
我这里安装的frida版本是15.1.14
模拟器或手机安装Frida服务端:
这里以模拟器为例,我用的是雷电模拟器,首先打开模拟器,然后adb连接:
# 查看是否连接成功 adb devices # 如果连接不成功的话运行以下命令 adb connect 127.0.0.1:5555
如果是下图这样就连接成功了
接着我们进入Android shell中查看内核:
# 进入Android shell adb shell # 查看内核 getprop ro.product.cpu.abi
我这里是x86的
然后在github下载大佬写的反检测的frida-server,链接如下:
https://github.com/hzzheyang/strongR-frida-android
膜拜大佬~
下载好后使用adb移动到模拟器里:
# 将frida-server移动到模拟器的/data/local/tmp目录下 adb push hluda-server-15.1.14-android-x86 /data/local/tmp # 赋予执行权限 chmod +x hluda-server-15.1.14-android-x86 # 运行frida-server ./hluda-server-15.1.14-android-x86
重新打开一个cmd,然后进行端口转发:
adb forward tcp:27042 tcp:27042 adb forward tcp:27043 tcp:27043
0×03 使用安卓应用层抓包通杀脚本开始抓流量包
在github下载大佬写的安卓应用层抓包通杀脚本,链接如下:
https://github.com/r0ysue/r0capture
下载好后,运行不报错就说明安装好了!(说了句废话)
模拟器中打开需要测试的App,然后在cmd下运行以下命令:
# 进入android shell adb shell # 获取到当前app的Activity adb shell dumpsys activity top
接着我们直接运行大佬写的通杀脚本:
python r0capture.py -U -f com.xxx.xxx -v -p xxx.pcap
发现可成功抓到流量包:
0×04 Wireshark+BurpSuite进行测试
经过上面的一系列操作后,本地已经生成了xxx.pcap文件,使用wireshark打开,过滤http:
然后追踪tcp流就可以看到http数据包啦:
由于敏感信息过多,打码严重,大家凑合看~
如果数据包没加密,我们就可以复制数据包到BurpSuite的repeater模块中重放测试啦~~~
可惜这个App数据包是加密的,不说了,去研究加密了 -_-!
0×05 结语
在以后遇到App抓不到包的情况,可以试一下上述的方法进行测试,如果数据包没有进行加密,而是明文的话,就可以愉快的进行测试啦~~~