模拟器 +burp+adb 抓包

0x01、写在最前面

APP和小程序的渗透、合规等测试中,可能需要抓包分析,并常常由于ssl spinning证书锁定机制导致一些包是抓不到的;为此分享一下使用Burpsuite对模拟器内APP进行抓包,并绕过一般的SSL pinning机制;

为实现整个抓包流程, 我们要组建一个如下图所示的环境:

安卓模拟器:本次环境使用夜神模拟器,最新夜神模拟器的安卓版本为7.xx,可能不适用于某些场景,root物理手机的分享会看情况再写一篇文章。

ADB:Android Debug Bridge, 其作用是连接PC和模拟器,本次直接使用夜神自带的ADB即可。

Frida-skeleton:基于frida(安卓hook工具),主要实现了自动化绕过ssl spinning 机制。

burpsuite:抓取模拟器内APP流量。

注意:

其中frida-skeleton基于python、burp基于java,这俩环境请小可爱们自行准备啦~
Frida-skeleton在运行中会自动安装frida(server), 写在这里只为小可爱理解整个环境的架构和原理。

0x02、配置步骤

1、夜神模拟器安装与配置

(1)下载安装打开:https://www.yeshen.com/。

(2)打开开发者模式

打开设置:每次使用模拟器的设置都会很自然的打开右上角的设置按钮, 然后什么都找不到。。。。一定要打开下图这里的设置,比较聪明的小可爱请自动忽略这个提示;

打开设置后一直下拉到最后“关于平板电脑”,点击进去

打开“关于平板电脑”后一直下拉到最后, 找到版本号:

连续点击版本号这里大约5次,点击起来是会有提示的啦,这个没办法截图演示啦,点击够了后会有提示,听起来有点复杂,但是真的不难,小可爱勇敢尝试下。

到这里就已经开打“开发者模式了”,退出到上一层,会发现“关于平板电脑”上侧出现“开发者选项”,点进去。

找到USB调试,打开即可。

2、配置ADB

由于夜神模拟器自带ADB, 免安装直接配置即可。

(1)找到夜神ADB文件nox_adb.exe:一般就在夜神安装目录,或用everything直接搜索;

(2)配置环境变量,这样命令行才能识别到adb命令哦:

复制nox_adb.exe到当前路径,重命名为adb.exe;
添加环境变量,win10左下角的搜索处,搜索env, 打开编辑系统环境变量,然后按如下示例配置你的环境变量;

此处加入adb.exe所在路径,点击确认即可。

若出现 由于找不到adbwinapi.dll 无法继续执行代码。重新安装程序可能会解决

参考下文解决:

在这个问题之前,肯定会存在这样一个问题:在cmd命令行模式下,adb显示不是内部命令或外部命令,

这个问题的解决方法为:在sdk安装目录下的platform-tools文件夹中复制adb.exe文件到tools文件夹下,然后在配置环境变量中找到

path,将adb.exe存放路径前加“;”添加进去即可解决。

这个问题是由文件的存放位置不对造成的,其解决方法为:

1.将adb.exe文件复制到Windows/system32下;

2.将adbwinapi.dll复制到Windows/system64(新版本路径可能是C:\Windows\SysWOW64)下即可。

(3)验证配置

验证环境变量配置:新开一个cmd,新开一个cmd,新开一个cmd呀,输入adb潇洒回车,成功则如下图所示。

验证adb与夜神连通性,在cmd里依次输入以下命令来来确认:

adb connect 127.0.0.1:62001: 使用adb连接上夜神,夜神的端口一般是62001,也可能是52001,小可爱要自己试一试呐,连接成功了就如下图这样子,要确认一下哦;
adb devices:列出当前设备,看看咱们的夜神有没有连接上;
adb shell:进入设备shell;
id:在shell内执行后查看结果,确保当前是root权限哦。

3、frida-skeleton安装与配置

原文链接:https://github.com/Margular/frida-skeleton

git clone https://github.com/Margular/frida-skeleton.git

cd frida-skeleton

pip install -r requirements.txt

4、burp安装与配置

(0) 确保burp安装

这个要是不会的话找找其他教程哦。

(1)配置透明代理

确保模拟器里的所有流量都能被burp处理。具体步骤如下图所示。

注意事项:

burp每次关闭重启后这个配置就没有啦, 每次都需要配置哦~
端口自己指定哦,注意不要和其他常用端口冲突,截图当时使用了习惯端口2333,但是51129也是可以的!51129可以的!51129可以!只是重新截图太麻烦了就算啦~

0x03、确定目标,开始抓包!

1. 下载一个app的apk包,一把拖入夜神,安装后打开;

2. 获取APP包名:ADB shell中运行 `dumpsys activity activities | grep mResumedActivity`;找到打码处的包名;

3.运行frida-skeleton, 连接ADB和burp,运行方法:

cd frida-skeleton

python .\frida-skeleton.py -vip 2333 包名

说明:

-v:输出详细信息

-i:install, 自动安装frida

-p:指定burp的端口

注意:首次运行会安装frida,所以时间会较长哦~

4. 然后在App里多点击看看,就会看到burp已经在抓包啦,frida-skeleton也有相关日志出来啦!

0x04、写在最后

SSL Pinning 绕过说明:还有些非常注重安全的APP可能会使用经修改的SSL Pinning机制,此时可能就需要具体问题具体分析来做绕过啦!

如有错漏感谢大佬指正,不喜求轻喷 。

原文链接

https://www.freebuf.com/sectool/280622.html

https://blog.csdn.net/w_s_x_b/article/details/91793734

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值