Quantcast
Channel: CodeSection,代码区,网络安全 - CodeSec
Viewing all articles
Browse latest Browse all 12749

【技术分享】Burp Suite Mobile Assistant

0
0
【技术分享】Burp Suite Mobile Assistant

2017-05-18 10:34:50
阅读:119次
点赞(0)
收藏
来源: zhihu.com






【技术分享】Burp Suite Mobile Assistant

前言

Burp Suite 在前段时间更新了v1.7.22版本,其中引入了一个新的模块: Mobile Assistant,它用于配合 Burp Suite 更方便地测试 iOS 应用程序。它可以修改 iOS 设备的系统代理设置,让 HTTP(S) 流量可以轻松重定位到电脑上正在运行的 Burp 。另外它还可以绕过你需要注入 App 的 SSL 证书的验证,拦截、检查和修改所有流量。


安装 Burp Suite Mobile Assistant

因为其功能的性质,需要依赖越狱设备上的软件包管理器 Cydia,并且要注意的是,Mobile Assistant 有些功能目前不支持 iOS10,所以在想使用 Mobile Assistant 相应的功能的时候,注意自己设备的固件版本。

安装 Mobile Assiatant 有两种方法,首先是使用 Cydia 安装:

1.在PC端打开 Burp Suite,设置好代理监听的接口以及端口,我这里设置的端口为8080,接口为我主机的 IP。


【技术分享】Burp Suite Mobile Assistant

2.在越狱设备上打开 Cydia,打开软件源选项,再编辑、添加。


【技术分享】Burp Suite Mobile Assistant

3.要使用 HTTP 协议,输入我们 Burp Suite 所在 PC 端的 IP 地址或主机名以及 Burp Suite 监听的端口号。如果 Cydia 无法连接,注意你的监听代理的设置是否正确以及检查计算机防火墙是否关闭。


【技术分享】Burp Suite Mobile Assistant

4.添加成功后,Burp Suite 现在应该显示为单个源。


【技术分享】Burp Suite Mobile Assistant

5.点开单个源:


【技术分享】Burp Suite Mobile Assistant

6.点击mobileassistant应用程序进行安装:


【技术分享】Burp Suite Mobile Assistant

7.点击安装:


【技术分享】Burp Suite Mobile Assistant

8.之后就会进行下载并安装它。在完成之后,您需要重新启动弹出菜单按钮来应用更改。


【技术分享】Burp Suite Mobile Assistant

9.在安装成功后便会在桌面出现我们的 Mobile Assistant 应用了。


【技术分享】Burp Suite Mobile Assistant

还可以让设备通过浏览器访问 Burp Suite 的浏览器界面,即http://192.168.169.22:8080(主机局域网IP:监听端口)/mobileassistant.deb 来实现安装,下载完成之后通过 Cydia 来完成安装,但是要注意将我们的 deb 格式的安装包导入 /var/root/Media/Cydia/AutoInstall,然后重启 iOS 设备,进入 Cydia 的软件包,就可以发现已经安装好了。


【技术分享】Burp Suite Mobile Assistant

无论是哪种安装方法,都必须要保证我们的主机以及 iOS 设备连接的是同一个网络。


使路由流量通过 Burp

首先你要保证你的 Burp 实例正在运行,并且可以从移动设备上进行网络访问,然后在移动设备端的 Burp Suite Mobile Assistant 中设置要进行连接的 Burp Suite 实例的主机 IP 和端口,然后来安装 CA 证书,将 Burp Suite 作为移动设备的代理。在配置完成后,可以通过以下方法来验证你的配置:

1. 网络连接:设备是否能够连接到给定的主机和端口。

2. Burp 验证:给定的主机 IP 和端口上监听服务是否是 Burp Suite 的实例。

3. CA 证书安装:设备是否信任所配置的 Burp Suite 实例的 CA 证书。

4. 启用代理:设备是否通过所提供的主机和端口为 HTTP 和 HTTPS 连接配置的代理服务器。

注意: 移动助手对代理设置所做的更改是短暂的,会在重新启动后恢复原来的设置。在运行 iOS 9.0 版以上的设备时,使用 Mobile Assistant 对代理设置所做的更改不会反映在 iOS 设置应用中。Burp CA 证书的安装在重新启动后不会恢复。


绕过证书锁定

证书锁定是应用程序用来防御恶意用户扮演可信任服务器的技术,在这种情况下,锁定(pinning)是一种术语,指的是针对本地合法证书进行身份验证(由远程服务器提供 SSL 证书)的过程。所以说,只有当服务器可以提供与应用相匹配的证书可以证明其身份时,才能和远程服务器建立连接。

默认情况下,Burp Suite 通过其自签名的 CA 证书为每台主机生成签名证书。即使设备可能会信任这些证书,但它们无法与应用程序预期的证书相匹配。那么即使该设备已正确配置为 HTTPS 代理,也会造成 Burp Suite 的拦截和查看应用程序流量的能力会被证书锁定削弱。

Burp Suite Mobile Assistant 还可以注入其他应用程序,并且还能挂载到低级系统 API 以破坏证书锁定,从而允许用户拦截流量,甚至在证书锁定执行中的时候也可以。

使用系统 API 、第三方库或自定义代码,可通过不同方式实现证书锁定。然而某些情况下注入应用程序成功也可能无法禁用锁定,这表明应用程序正使用自定义代码执行证书锁定。

注:Mobile Assistant 绕过证书锁定的特性目前暂不支持 iOS 10 版本。


注入到应用程序

将你想要进行测试的 app 添加到列表中,这时候如果该应用程序与列表中的应用程序中至少有一个表项匹配,那么该 app 将会通过绕过证书锁定的方式被注入,接下来我们来介绍一下。

1.首先启动 Burp Suite Mobile Assistant,跟启动其他应用程序一样,点击图标:


【技术分享】Burp Suite Mobile Assistant

2.设置代理:


【技术分享】Burp Suite Mobile Assistant

3.点击添加要注入的应用程序:


【技术分享】Burp Suite Mobile Assistant

4.添加成功会出现在列表中:


【技术分享】Burp Suite Mobile Assistant

5.之后就可以开启或关闭注入功能了。在开启后,Mobile Assistant 会执行各种检查,如果这个过程发现错误,将会被自动关闭这个功能。同时在开启注入功能之后,我们需要去启动被注入的应用程序(若之前启动了,需要重新启动才能生效):


【技术分享】Burp Suite Mobile Assistant

6.如果弹出下图所示窗口,表示注入成功:


【技术分享】Burp Suite Mobile Assistant

7.点击OK,MobileAssistant将绕过证书锁定,并且应用程序将能使用Burpsuite的自签名证书以数据的形式传输到服务器和客户端之间。


【技术分享】Burp Suite Mobile Assistant

高级用户可能想将注入应用于多个相关应用。这可以通过添加高级过滤器来实现。以下类型的过滤器可用:

1.可执行文件:将会匹配每个可执行文件名称与过滤器值相匹配的应用程序。

2.软件包 ID:将会匹配有指定软件包 ID 的应用程序,或者有与该软件包 ID 有依赖关系的框架。比如,过滤器 com.apple.UIKit 将所有应用程序与 GUI 匹配; 过滤器 com.apple.Security 将与所有应用程序进行匹配。

3.类:将会匹配所有实现名称与过滤器值相匹配的类的应用程序。


从崩溃中恢复

注入应用程序和挂载 API 调用的过程中是存在潜在风险。为此,Cydia Substrate 插件在意外情况下可防止设备进入永久崩溃状态。出现 Burp Suite 移动助手崩溃并引发问题的情况时,请参阅 Cydia Substrate 的安全模式来解决。


参考链接

Configuring Burp Suite Mobile Assistant

Installing Burp Suite Mobile Assistant


更多精彩内容,请关注作者微信公众号:

【技术分享】Burp Suite Mobile Assistant


【技术分享】Burp Suite Mobile Assistant
【技术分享】Burp Suite Mobile Assistant
本文转载自 zhihu.com
原文链接:https://zhuanlan.zhihu.com/p/26920791

Viewing all articles
Browse latest Browse all 12749