Mitmproxy是一款免费的开源工具,其主要功能是查看移动电话应用的TLS加密流量。Mitmproxy在检查TLS加密流量方面还强于Wireshark,而免费这一点更是远胜昂贵的Burp Suite。唯一美中不足的是,Mitmproxy只是一个命令行工具,不像Burp Suite还有图像用户交互界面。

这款工具能解决多个问题:应用在做什么?在和哪里通信?它在手机上收集了哪些信息或者表格?在电脑上浏览的网站又在做什么?或者对于开发者而言,需要确保自己对应用的网络流量加密符合GDPR、CCPA等其他合规要求。又或者是渗透测试人员破解应用和网站的流量,或者检查物联网设备的流量情况。

Mitmproxy可以很好地解决上述需求。Mitmproxy由Python编写完成,通过开源许可发布,因此相比付费工具Burp Suite有更广泛的使用人群。

以下是Mitmproxy的一些使用方式

用Mitmproxy检查应用流量

Mitmproxy的优势在于能检查TLS加密的应用流量。工具通过在手机里安装一个自签名的根证明,就能对流量进行解密。

越来越多的应用不再使用web流量作为用户和服务商进行交互的方式。应用相比网站而言,收集信息的方式更加不透明。另一方面,相比在电脑上被浏览的网站,许多应用能接触到更多的信息——比如手机的麦克风、相机、加速度计、通讯录等等。

正如研究者BlakeNetzeband所说的一样:“就像淘金热一样,网络隐私正在成为越来越政治化的微妙问题;因此,只有一小部分人完全注意到了这个问题的影响范围与影响力。”通过监控应用的网络流量,可以有能力“通过Mitmproxy从电脑、手机、温度计等来源流出的数据流采出黄金”。

正如在那些丘陵之中有黄金一般,在电话里也有大量黄金一般的私人信息——而我们有各种各样的理由想去发现是谁在从我们手机中获取这些黄金。

除了因为安全和隐私原因需要检测手机应用流量之外,作为中间人用Mitmproxy检测应用网络流量也能轻松分析出应用的手机API使用情况,从而可以直接从开发者没有想到的方式直接和API进行交互。举个例子,研究者Petr Pátek用Mitmproxy逆向了印度外卖平台Swiggy,通过请求API获取了餐馆的完整名单。

用Mitmproxy检测物联网设备

通过在树莓派上安装Mitmproxy还可以检测无线AP的流量。将树莓派放置于路由器之前,可以获取所有经过Mitmproxy的流量,从而观察整个家庭网络的情况——比如物联网设备在和哪里进行交互。

最近在树莓派上新增的无线模块使得检测无线流量更为简单,树莓派不再需要外加网卡之类的设备。

Mitmproxy自动化

由于Mitmproxy是在开源证书下发行的,开发者可以用它来对大规模的流量进行检测;事实上,美国视频网站Hulu在2019年就这么做了。

Hulu的工程师ChandlerUnderwood表示:“实时检测网络情况有助于调试、排错;不过,如果还能拦截、修改请求,那开发者就能测试不同网络场景下的情况。由于Mitmproxy的Python附加组件开放了一个Python的API接口,从而使得开发者能够直接通过编程修改任何通过代理的网络请求和响应。我们的开发者和QA工程师通过移除一些障碍,得以彻底地对各种场景的服务质量进行测试,最终更快速地迭代体验更好的功能。”Hulu也将自己修改后用于工作环境的Mitmproxy版本发布在GitHub上。

可以说,在当前环境中,如果需要对基于 TLS加密流量的应用、网站和物联网进行流量检测,Mitmproxy是最好的选择之一。

声明:本文来自数世咨询,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。