安卓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
声明:⽂中所涉及的技术、思路和⼯具仅供以安全为⽬的的学习交流使⽤,任何⼈不得将其⽤于⾮法⽤途以及盈利等⽬的,否则后果⾃⾏承担。所有渗透都需获取授权!