*郑重声明:文中涉及的方法,只为交流学习之用。如有人用于非法用途,产生的后果笔者不负任何责任。

0×00前言

在做一次App渗透测试项目中,发现设置代理后使用BurpSuite抓不到包,尝试使用了Drony等工具都无法进行抓包,而且App也被加固,由于技术太菜无法脱壳...那该怎么办呢?放弃吗?不可能!作为一个刚满十八岁的帅气少年,怎么能轻易说放弃!(不测没钱恰饭 -_- )于是便有了此文!

0×01 发现无法抓包

在测试过程中使用BurpSuite进行抓包,发现无法抓包:

1645673712_6216fcf0d0d1900ce73e6.png!small?1645673712053

0×02 安装Frida客户端环境+大佬写的反检测版本的frida-server

首先我们需要安装Frida环境,网上教程一大堆,我写的不清楚的可以参考其它大佬写的~

Windows安装Frida客户端:

# 安装frida
pip install frida
# 安装frida-tools
pip install frida-tools
# 查看版本
frida --version

我这里安装的frida版本是15.1.14

1645676214_621706b69221f7cb6abcc.png!small?1645676213668

模拟器或手机安装Frida服务端:

这里以模拟器为例,我用的是雷电模拟器,首先打开模拟器,然后adb连接:

# 查看是否连接成功
adb devices
# 如果连接不成功的话运行以下命令
adb connect 127.0.0.1:5555

如果是下图这样就连接成功了

1645676426_6217078a49e33d9356e18.png!small?1645676425402

接着我们进入Android shell中查看内核:

# 进入Android shell
adb shell
# 查看内核
getprop ro.product.cpu.abi

我这里是x86的

1645676797_621708fdd33f889d0faf8.png!small?1645676796926

然后在github下载大佬写的反检测的frida-server,链接如下:

https://github.com/hzzheyang/strongR-frida-android
膜拜大佬~

1645676959_6217099f1818880683d2a.png!small?1645676958322

下载好后使用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

1645680116_621715f49770ba2a81cb1.png!small?1645680115712

重新打开一个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

发现可成功抓到流量包:

1645681053_6217199d10676a31306ea.png!small

0×04 Wireshark+BurpSuite进行测试

经过上面的一系列操作后,本地已经生成了xxx.pcap文件,使用wireshark打开,过滤http:

1645681496_62171b5839d973efe16ac.png!small?1645681495450

然后追踪tcp流就可以看到http数据包啦:

1645682160_62171df030160f2d7ba32.png!small?1645682159449

由于敏感信息过多,打码严重,大家凑合看~

如果数据包没加密,我们就可以复制数据包到BurpSuite的repeater模块中重放测试啦~~~

可惜这个App数据包是加密的,不说了,去研究加密了 -_-!

0×05 结语

在以后遇到App抓不到包的情况,可以试一下上述的方法进行测试,如果数据包没有进行加密,而是明文的话,就可以愉快的进行测试啦~~~

本文作者:Snrt7, 转自FreeBuf