top of page
Search
Writer's pictureIYP

🐞 Windows PureVPN 客户端中有两个凭据泄漏漏洞


使用 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 ◾️


84 views0 comments

Comments


bottom of page