前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >r0capture安卓应用层通杀脚本-使用文档

r0capture安卓应用层通杀脚本-使用文档

原创
作者头像
拉灯的小手
发布2022-04-01 00:06:30
1.2K0
发布2022-04-01 00:06:30
举报
文章被收录于专栏:用户6838338的专栏

r0capture安卓应用层通杀脚本-使用文档

操作环境

工具脚本简介

  • 仅限安卓平台,测试安卓7、8、9、10、11 可用 ;
  • 无视所有证书校验或绑定,不用考虑任何证书的事情;
  • 通杀TCP/IP四层模型中的应用层中的全部协议;
  • 通杀协议包括:Http,WebSocket,Ftp,Xmpp,Imap,Smtp,Protobuf等等、以及它们的SSL版本;
  • 通杀所有应用层框架,包括HttpUrlConnection、Okhttp1/3/4、Retrofit/Volley等等;
  • 无视加固,不管是整体壳还是二代壳或VMP,不用考虑加固的事情;
  • (限制) 基于Java的虚拟机,暂未支持 flutter(开发框架),flutter走的已经不是java的虚拟机了!

TCP/IP四层模型介绍

  • 应用层

应用程序间沟通的层,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。

  • 传输层

在此层中,它提供了节点间的数据传送,应用程序之间的通信服务,主要功能是数据格式化、数据确认和丢失重传等。如传输控制协议(TCP)、用户数据报协议(UDP)等,TCP和UDP给数据包加入传输数据并把它传输到下一层中,这一层负责传送数据,并且确定数据已被送达并接收。

  • 互连网络层

负责提供基本的数据封包传送功能,让每一块数据包都能够到达目的主机(但不检查是否被正确接收),如网际协议(IP)。

接收IP数据报并进行传输,从网络上接收物理帧,抽取IP数据报转交给下一层,对实际的网络媒体的管理,定义如何使用实际网络(如Ethernet、Serial Line等)来传送数据。

环境准备

  • 安装Python环境及frida:注意frida和frida-tools版本匹配,这里我选择指定版本安装的方式
代码语言:txt
复制
  pip install frida==14.2.17
  pip install frida-tools==9.2.4

代码语言:txt
复制
  查看python所有安装包:pip list

请添加图片描述
请添加图片描述
  • 下载安装frida-server

在 官方github页面的release标签里,找到对应版本的frida-server,注意要匹配系统和架构,比如armarm64就不能搞错

  • 查看手机CPU 架构类型
代码语言:txt
复制
```
代码语言:txt
复制
adb shell getprop ro.product.cpu.abi
代码语言:txt
复制
```
代码语言:txt
复制
![请添加图片描述](https://img-blog.csdnimg.cn/12a8af411a9c4fa886d7c1776f0a364e.png)
  • 根据frida版本和手机CPU版本下载对应的frida-server
    请添加图片描述
    请添加图片描述
    下载完成后进行解压,获得linux原生的可执行文件,我们将它重命名为frida-server
  • 将frida-server安装至手机
代码语言:txt
复制
使用`adb`命令将其推送到手机上去
代码语言:txt
复制
```
代码语言:txt
复制
$ adb push frida-server /data/local/tmp/
代码语言:txt
复制
```
代码语言:txt
复制
然后使用`adb shell`命令进入到手机中去,执行以下命令:
代码语言:txt
复制
```
代码语言:txt
复制
$ adb shell
代码语言:txt
复制
bullhead:/ $ su 
代码语言:txt
复制
bullhead:/ # whoami
代码语言:txt
复制
root
代码语言:txt
复制
bullhead:/ # cd /data/local/tmp/
代码语言:txt
复制
bullhead:/data/local/tmp # chmod 755 /data/local/tmp/frida-server
代码语言:txt
复制
bullhead:/data/local/tmp # ./frida-server &
代码语言:txt
复制
[1] 6669
代码语言:txt
复制
```
代码语言:txt
复制
`frida-server`运行成功。
  • 至此所需环境准备完成

工具脚本用法

下载安卓应用层抓包通杀脚本:[https://github.com/r0ysue/r0capture](https://github.com/r0ysue/r0capture)

两种抓包模式
  • Spawn 模式,直接抓包
代码语言:txt
复制
  python r0capture.py -U -f 包名

代码语言:txt
复制
Attach 模式,将抓包内容保存成pcap格式文件

代码语言:txt
复制
  python r0capture.py -U 包名 -p 文件名.pcap

代码语言:txt
复制
  建议使用Attach模式,从感兴趣的地方开始抓包,并且保存成pcap文件,供后续使用Wireshark进行分析。

导入脚本项目
  • 导入到Pycharm项目中
请添加图片描述
请添加图片描述
  • 安装项目所需的包
代码语言:txt
复制
pip install win_inet_pton
pip install hexdump
pip install loguru

  • 在要执行文件r0captue.py的上一级开启一个命令行或直接cd 到要执行的目录,如下图所示:
    请添加图片描述
    请添加图片描述

在开启的命令行中两种方式的任意一种进行抓包,建议使用Attach模式,从感兴趣的地方开始抓包,并且保存成pcap文件。

开始抓包
  • 获取应用包名
代码语言:txt
复制
 1.adb shell am monitor
  2.启动需要获取包名的应用
  3.窗口就会打印出来当前应用的包名

代码语言:txt
复制
  [请添加图片描述]

  • 给应用添加读取存储空间权限
  • 启动frida-server
代码语言:txt
复制
  adb sehll
  su
  cd /data/local/tmp/
  ./frida-server &
  ps | grep frida
请添加图片描述
请添加图片描述

检查是否启动成功:在电脑上新开一个shell,运行frida-ps -U命令,即可显示手机中正在运行的进程。

请添加图片描述
请添加图片描述
  • Spawn 模式,直接抓包
用法:python r0capture.py -U -f com.dianping.v1
请添加图片描述
请添加图片描述
  • Attach 模式,将抓包内容保存成pcap格式文件

先打开需要抓包的应用,然后在命令行输入

python r0capture.py -U com.dianping.v1 -p 123.pcap

在操作想抓包的地方,对应的记录会保存至项目同目录下的pcap文件中

请添加图片描述
请添加图片描述

Press Ctrl+C to stop logging.

Ctrl+C 结束,如果数据量很大的话,需要等待一会才能彻底关闭

  • 分析数据

通过上面的方式将抓取到的pcap格式的文件通过Wireshark打开,选择里面的某条数据内容使用 分析->追踪流->分析抓包数据即可!如下图所示:

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

资源下载

https://download.csdn.net/download/qq_38154948/85061788

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • r0capture安卓应用层通杀脚本-使用文档
    • 操作环境
      • 工具脚本简介
        • TCP/IP四层模型介绍
          • 环境准备
            • 工具脚本用法
              • 两种抓包模式
              • 导入脚本项目
              • 开始抓包
            • 资源下载
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档