APP流量 “一个都不能少” !
前言
所需工具
Postern介绍
Postern是一个在手机上的VPN软件,支持类型有:SOCKS5 Proxy HTTPS/HTTP等。
下载地址:https://github.com/postern-overwal/postern-stuff
Charles介绍
Charles 是一款代理服务器,通过设置为系统(电脑或浏览器)的网络访问代理服务器,进而截取请求和请求结果,达到分析抓包的目的。
下载地址:https://www.charlesproxy.com/
Burp Suite介绍
Burp Suite 是用于攻击web 应用程序的集成平台,包含了许多工具。Burp Suite为这些工具设计了许多接口,以加快攻击应用程序的过程。所有工具都共享一个请求,并能处理对应的HTTP 消息、持久性、认证、代理、日志、警报。
下载地址:https://portswigger.net/burp
Frida介绍
Frida是一款非常强大的框架,其可向Windows、MacOS、Linux、iOS、Android,QNX的应用中注入Javascript,进而拦截应用传输的数据。
下载地址:https://github.com/frida/frida
抓包原理
准备一个root的手机。
在root手机中装入Burp Suite、Charles的证书(一定要装入到根证书,否则有些数据包会抓取不到)。
手机上安装Postern客户端和Frida。
在手机上用Postern连接上SOCKS5。
Charles把SOCKS5把流量导出到Burp Suite。
在Burp Suite上对封包进行测试操作。
在Charles上可以对socket数据包进行渗透测试操作。
工具配置方法
Charles设置
我们首先要把Charles当做一个SOCKS5的代理服务器,所以要先设置SOCKS5代理服务器。打开Proxy设置选项,开启SOCKS服务器,我这里开启的端口为8889,也可以随意填写。
Burp Suite设置
在Proxy中的options选项中设置Web代理端口,设置完成后,点击确定。
Postern设置
在手机上打开Postern应用,设置SOCKS5代理服务器的地址,连接到Chalres服务器,让所有的数据包都通过Chalres的SOCKS5服务器,这样就能保证数据包不会丢失。
vpn规则设置:我这里设置为所有地址都需要走SOCKS5代理服务器。
HTTP/HTTPS转发到Burp Suite
如果你只爱Burp Suite,那么可以在Charles中把所有的HTTP/HTTPS的数据包转发到Burp Suite进行渗透测试。
具体设计如下:在Charles中,打开External Proxy Settings选项卡,选择把数据转到Burp Suite的代理服务器中。
Frida设置
有的时候很多应用都会使用SSL客户端验证证书的方式,那么就有可能无法抓到数据包,这里我给大家提供一种方法,使用Frida,可以HOOK客户端验证证书的地方,bypass。已经有大神写好了脚本,大家可以在网上找到很多。
通过设置,大部分的应用都可以抓到所有数据包了,在Burp Suite上可以看到抓到的HTTP/HTTPS的包,在Charles上可以看到socket的数据包。大家开开心心的渗透测试吧!
抓包效果展示
使用方法
在电脑上开启Charles,并且开启SOCKS5服务器。
打开Burp Suite设置Web代理。
在手机上打开Postern,设置SOCKS5服务器为Charles服务器,并且开启全局代理。
打开要测试应用,此时应该可以在Burp Suite和Charles上看到所有的数据包(HTTP,socket)。
Burp Suite抓包
socket抓包
总结
本篇文章不是一篇技术文章,但它确实可以帮助安全测试人员在做渗透测试时,省了不少力气,少踩坑,提高渗透测试的效率。