安卓APP抓包解决方案(教程)

Posted xyongsec

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安卓APP抓包解决方案(教程)相关的知识,希望对你有一定的参考价值。

在我们日常的渗透测试工作中经常会发现手机APP抓取不到数据包的情况,本篇文章讲解的是通过postern代理软件来全局转发流量至charles联动BURP来对APP进行渗透,在这套环境配置完成之后可以为你后面的app抓包省下不少时间与麻烦。

环境准备

  • kali
  • windows
  • burpsuite
  • 夜神模拟器 android7.0以上 版本V7.0.2.2000
  • Charles
  • postern

工具简介

Charles

下载地址:https://www.charlesproxy.com/latest-release/download.do 我们可Charles是一款非常强大的HTTP抓包工具,通过对该软件的设置让其成为系统网络访问服务器,即所有的网络访问都要通过该软件来完成,这样它就可以轻松获得所有HTTP、HTTPS的数据封包,监视所有的流量包括所有的浏览器和应用进程,方便开发人员查看计算机与Internet之间的所有通信。 Charles下载后有30天免费使用权限,过了之后可以选择重新下载或者购买,未激活的Charles每次只能开30分钟,需要再次手动开启。

Postern

下载地址1:https://soft.clbug.com/soft/postern/ 下载地址2:https://www.malavida.com/en/soft/postern/android/ Postern是一个Android下的全局代理工具。

详细配置

安装Postern

下载安装包后直接拖进模拟器中就会开始安装。

安装Charles

一路下一步就ok,首先需要确保电脑里没有charles。

破解方法

在线工具:https://www.zzzmode.com/mytools/charles/ 随便输入一个字符串生成license key。 打开charles-help填进去就行。

安卓导入Charles系统级证书

生成一个.pem的证书,但是安卓系统级的证书是.0结尾的,所以需要转换一下,我们通过kali中的openssl来计算出文件名就可以。 此处参考文章:https://www.cnblogs.com/YenKoc/p/14376653.html 我这里是1d5ca3e1,然后把文件改成1d5ca3e1.0就可以了。 接着通过adb shell来把文件传到/system/etc/security/cacerts/目录中 连接 push(注:adb连接必须开启开发者模式才能连接) 给目录读写权限,然后把证书复制到指定位置。 然后重启,输入reboot就可以。 几秒钟之后重启就可以发现凭据里有了charles的证书

burp导入Charles的证书

打开charles - help - ssl proxying 输入密码,导出证书 得到一个.p12的文件 往burp中导入 选择文件,输入密码,导入成功

Charles工具配置

首先是proxy - proxy settings 这里我们选择socks proxy模式,如图配置,点击ok完毕 取消勾选windows proxy,因为我们不需要用来抓取windows的数据包。 然后是proxy-ssl proxy settings 点add,添加:就可以了 ok完毕。

postern工具配置

打开软件左上角横杠可以看到选项列表。 先配置代理 名称随便起,服务器地址为你自己的pc本机地址。 端口,类型要和之前charles上配置的一样,socks5模式。 然后postern往下滑保存就行。 接着配置规则,全删了,配置一个就可以了。 这样就配完了。 最下面那个是开关,要抓包的时候开启就可以,不抓包就关闭。 开启右上角会有个钥匙的图标。 这时候我们就去访问百度去试试能不能抓到数据包。 成功抓到。

联合burp

因为charles抓包能力强但是不好做修改数据包之类的操作,所以我们就再做一层代理到burp来方便我们渗透测试人员。 proxy - external proxy settings 记得两个选项都要配置127.0.0.1:8080,因为我们的burp就是默认监听8080端口的,若不是8080,改成自己burp上监听的端口就可以了。

测试结果

成功抓到数据包,其他app自行去测试噢,据说能抓到90%以上的app的数据包...... 作者:LornaDane,原文地址:https://xz.aliyun.com/t/11817 声明:⽂中所涉及的技术、思路和⼯具仅供以安全为⽬的的学习交流使⽤,任何⼈不得将其⽤于⾮法⽤途以及盈利等⽬的,否则后果⾃⾏承担。所有渗透都需获取授权!

Fiddler对安卓App抓包(逍遥模拟器APP)

之前有一篇关于Fiddler的文章:


摘要:
在做移动端app进行测试的时候,经常需要对APP进行抓包,此文主要介绍使用Fiddler对安卓app进行抓包,APP是使用逍遥模拟器的APP,过程中参照慕课网视频教程,并使用慕课网APP进行抓包。

当app再出现bug要定位时,需要去抓包看具体的请求信息,进而确定异常,定位bug。

准备环境:

  • Windows

  • 抓包目标APP的apk安装文件(此处使用慕课网APP,apk安装包已经上传到此处,也可到慕课网官网去下载apk安装包)

  • 抓包工具Fiddler(国内官网下载超级慢,推荐点击此处下载)

此处使用的慕课网apk安装版本是5.X,新版本做了一些防盗版和安全相关功能之后就不能抓包了。

安装好模拟器之后,在模拟器上面对应选择安装apk文件即可安装app,如下图所示。
也可以选择在模拟器的应用商店中搜索慕课网APP进行安装。

Fiddler对安卓App抓包(逍遥模拟器APP)

1、Fiddler配置代理

在完成fiddler的安装之后,进行设置,如下图:
Tools–> Options --> Connections–> 设置端口号并勾选Allow remote computer to connect
完成设置 重启fiddle之后生效。

Fiddler对安卓App抓包(逍遥模拟器APP)

2、手机端配置代理

然后在模拟器上面启动慕课网APP,我们就可以看到Fiddler里面抓取到了一些慕课网相关的请求,如下图:
Fiddler对安卓App抓包(逍遥模拟器APP)

上述均使用模拟器设置代理,真机的设置也是一样的方法。
但是在实际使用过程中,并不是所有的请求都是http,还有的是https,所以还需要进一步设置Fiddler和手机端,如下:

3、开启Fiddler的HTTPS

设置如下图所示:Tools–> Options --> HTTPSFiddler对安卓App抓包(逍遥模拟器APP)

4、手机端打开默认浏览器下载并安装Fiddler证书

打开手机默认的浏览器,输入电脑IP和端口,比如我电脑IP是 192.168.1.105:8888
Fiddler对安卓App抓包(逍遥模拟器APP)
选择下载证书,然后安装,并命名并按照要求设置一个密码即可。
Fiddler对安卓App抓包(逍遥模拟器APP)

Fiddler对安卓App抓包(逍遥模拟器APP)
Fiddler对安卓App抓包(逍遥模拟器APP)

上图中可看到返回来一大堆的请求内容,各种类型的都有,但这并不是我们想要的内容,接下来就介绍下Fiddler的过滤–Filters功能:
Fiddler对安卓App抓包(逍遥模拟器APP)
上图中的正则表达式如下:不显示css|ico|jpg|png|gif|bmp|wav|js这些内容的URL。

REGEX:(?insx)/[^\?/]*\.(css|ico|jpg|png|gif|bmp|wav|js)(\?.*?$)

当然,从上面截图中还可以看得出很多其他的过滤筛选功能,这里就不一一展示了。


文章合集

| | |   

 |  |

视频教程

| | | 



END



觉得不错,可以“点赞”和“在看”,或者转发留言


精彩的内容要和朋友分享

软件测试微信交流群

欢迎入群


今天推荐

搜索 “实验楼

里面有很多技术基础教程

比如:在线Linux操作系统
在线虚拟机,免去自己搭建环境

可用于学习基础的Linux基础知识
参照教程跟着敲一敲命令

以上是关于安卓APP抓包解决方案(教程)的主要内容,如果未能解决你的问题,请参考以下文章

Android利用Fiddler进行抓包详解教程。抓取接口以及数据,可以抓真实安卓手机或者模拟器。

Android利用Fiddler进行抓包详解教程。抓取接口以及数据,可以抓真实安卓手机或者模拟器。

fiddler抓包 雷电模拟器9(安卓9.0)教程,app加载不出来要记得移动证书目录

为啥fildder对app抓包时在手机上操作了单在fildder上没有反应

iOS解决Xcode模拟器不能抓包的问题

APP渗透抓不到包/安卓逆向--Frida