利用Burp Suite进行IOS应用程序流量分析(part one)
惊鸿一瞥最是珍贵 安全工具 8397浏览 · 2019-01-16 09:31

简介

在本文中,我们将学习如何设置设备和Burp Suite来捕获IOS应用程序的网络流量。在开始本文之前,建议先阅读我的上一篇文章

识别通信协议

IOS应用程序可以使用任何应用层协议与其服务器通信。识别网络通信协议是流量分析的第一步。由于全球都在使用HTTP(S),所以大多数应用程序通过HTTP进行通信。但也可以使用其他协议,如果需要,应用程序甚至可以使用原始套接字。例如,著名的应用程序“WhatsApp”使用XMPP(可扩展消息传递和表示协议)进行通信。


资料来源: https://wiki.mikrotik.com/wiki/Testwiki/Introduction_to_internetworking
识别通信协议需要使用Wireshark、tcpdump等工具,或者通过使用任何流行的编程语言(如python或ruby)编写的自行开发的脚本来实现。我们将讨论IOS应用程序的HTTP(S)流量分析。让我们以TwitterIOS应用程序为例。

我们需要将手机连接到计算机上的WIFI,以便使用Wireshark捕获数据包。
我们首先记下我们设备的本地IP地址(例如我的IP地址10.42.0.208)。


现在,我们在计算机上启动Wireshark,并设置一个过滤器以匹配设备的IP地址。


在收集有关Wireshark中找到的IP地址的信息时,我们注意到该IP地址属于主机名(hostname)api.twitter.com,这确认了Twitter IOS应用程序通过HTTPS进行通信。


从屏幕截图中可以看出,Twitter使用HTTPS进行通信。

使用Burp Suite捕获iOS应用程序的HTTPS流量

为了捕获BurpSuite上的HTTP流量,我们首先需要在BurpSuite中启动一个代理监听器,如图所示。
转到Proxy→Options→Proxy Listener。
编辑默认运行实例或添加新实例。

为代理选择一个侦听端口(应大于1023且非忙碌),例如8282端口,与iPhone设备连接到同一网络的接口的IP地址。如果您想频繁切换网络,可以使其在所有接口上侦听。但您必须非常小心地执行每步操作。


配置iPhone的代理设置以匹配Burp Suite的代理侦听器。


完成此操作后,打开Safari并导航到任何HTTPWeb站点(如http://www.bbc.com),然后观察BurpSuite中的Proxy→HTTP History Tab。


还可以注意到,“Target(目标) Tab"开始记录网络流量,并对其进行扫描以查找潜在的漏洞。

捕获HTTPS流量

如果我们试图捕获来自HTTPS网站(如google.com或yahoo.com)的网络流量,我们会在浏览器中看到一条消息,如屏幕截图所示。

如今许多网站以及我们的目标应用程序即Twitter使用HTTPS。此外,应用程序还实现了HSTS标志,即HTTP Strict-Transport-Security,以禁止通过HTTP访问API。为了捕获流量,我们需要网站信任我们——我们需要安装Burp Suite的CA证书。首先,我们需要确保Burp代理被正确配置为拦截从设备到Burp Suite的流量。


导航到常规→关于→证书信任设置。


现在,如果我们尝试捕获HTTPS流量,我们将能够在Burp Suite中成功实现。


转到Twitter应用程序,当我们启动该应用程序时,我们注意到应用程序流量无法被捕获。选中“Alerts”选项卡,将显示屏幕截图中显示的一条消息。


这表示应用程序已实现SSL pinning。开发人员使用SSL pinning来提高移动应用程序的安全性。有关SSL pinning的详细信息,请参阅:https://www.owasp.org/index.php/Certificate_and_Public_Key_Pinning
如果SSL pinning是100%被应用,那么来自应用程序的SSL流量将不会在Burp Suite或任何其他工具上被捕获。但如果不是这样,攻击者就可以绕过它。为了在IOS应用程序中自动绕过SSL pinning,需要使用名为“SSL Killswitch”的工具(手动绕过SSL pinning将在运行时分析中介绍)。从URL“ https://github.com/nabla-c0d3/ssl-kill-switch2/releases ” 下载deb软件包,并按步骤所示进行安装。


可以通过Settings→SSLKILSwitch2启用。


如果我们现在启动该应用程序,我们将观察到网络流量将在Burp Suite中被捕获。

总结

在本文中,我们通过使用Burp Suite捕获应用程序的网络流量来进行流量分析。本文中的知识将在接下来的文章中进一步使用,用于分析流量以发现IOS应用程序中的漏洞。

一起学习,一起进步!

翻译文章 来自:https://medium.com/@lucideus/getting-started-with-traffic-analysis-of-ios-applications-part-1-application-traffic-and-burp-84313e1334ff
0 条评论
某人
表情
可输入 255