导语:Pure VPN Windows客户端中发现了两个凭据泄露漏洞,供应商已经为第二个漏洞提供了补丁。

使用VPN(虚拟专用网络)可以带来许多好处,特别是当想要访问远程资源,或者使用的是不完全信任的网络时,例如,咖啡店或机场。

近年来,针对不熟悉技术但仍希望使用VPN来提高其连接安全性、关注隐私或想绕过某些地理限制的用户的VPN供应商数量有所增加。

供应商提供主要功能的特点之一就是让用户可以非常容易的设置VPN。只需点击几下,简单的配置就可以了。由于他们希望为用户提供便利,因此大多数客户端都存储密码,以便可以通过点击进行连接(甚至可以在每次笔记本电脑启动时自动执行)。

我对“存储密码”功能有一些好奇,所以开始挖掘,最终发现了两个漏洞。作为责任披露计划的一部分,我们向PureVPN披露了这些漏洞。他们接受了第一个漏洞存在的风险并为第二个漏洞提供了补丁。详细信息可在咨询TWSL2018-010中找到。

我在以下假设和条件下测试了这些漏洞:

· PureVPN客户端默认安装。

· 攻击者可以访问任何本地用户帐户。

· 有人在任何时间点使用Windows机器上的客户端成功登录PureVPN。

· 在多用户环境中披露其他用户凭据时,Windows计算机有多个用户。

这些漏洞可在PureVPN Windows客户端的5.18.2.0版中找到,并向供应商披露。供应商已发布补丁。我们测试了6.1.0版本,它不再受到攻击。

我将解释我发现的每个漏洞:

漏洞#1  – 客户端配置窗口显示密码

未修复,供应商接受了风险。

描述

PureVPN提供的PureVPN Windows客户端允许本地攻击者获取成功登录PureVPN服务的最后一个用户的存储密码。因此,当Windows计算机成功登录时,本地攻击者可以获得另一个用户的PureVPN凭据。攻击只通过GUI(图形用户界面)完成,不需要使用外部工具。

PoC

获取密码的步骤:

1.打开PureVPN Windows客户端

2.转到配置

3.打开“用户配置文件”选项卡

4.点击“显示密码”

例子:

图1.配置选项卡,其中包含有关登录的信息

图2.带有凭据的配置选项卡

漏洞#2 – PureVPN Windows客户端凭据以纯文本形式存储

已修复

描述

PureVPN Windows客户端以明文形式存储登录凭据(用户名和密码)。文件的位置是:C:\ProgramData\purevpn\config\login.conf。

此外,所有本地用户都可以读取此文件。

PoC

获取密码的步骤:

1. 在C:\ProgramData\purevpn\config\login.conf文件中读取。

例子:

图3.具有明文凭据的文件的位置和内容

图4.具有明文凭据的文件的权限

最后,建议大家:

· 如果使用PureVPN for Windows,请确认运行的是最新版本。

· 切勿在服务之间重复使用密码。

· 尽可能启用双因素身份验证。

为了帮助测试是否存在此漏洞,我还创建了一个Metasploit模块,可以在此处访问:https://github.com/rapid7/metasploit-framework/pull/10716

源链接

Hacking more

...