正确配置后,PPTP VPN 中是否存在任何已知漏洞?

信息安全 加密 虚拟专用网 rc4 pptp
2021-08-14 03:29:14

PPTP 是某些设备(例如,华硕 RT-AC66U WiFi 路由器)支持的唯一 VPN 协议。如果 PPTP 被配置为仅使用最安全的选项,它的使用是否存在任何安全漏洞?

PPTP 最安全的配置是独占使用:

  • MPPE-128 加密(使用 128 位密钥的 RC4 加密)
  • MS-CHAPv2 身份验证(使用 SHA-1)
  • 强密码(至少 128 位熵)

我意识到 RC4 和 SHA-1 有弱点,但我对实际影响感兴趣。是否有已知的攻击或利用可以成功针对具有上述配置的 PPTP VPN?

3个回答

是的。协议本身不再安全,因为破解初始 MS-CHAPv2 身份验证的难度可以降低到破解单个 DES 56 位密钥的难度,使用当前计算机可以在很短的时间内暴力破解(使强大的密码在很大程度上与 PPTP 的安全性无关,因为可以在实际时间限制内搜索整个 56 位密钥空间)。

攻击者可以执行 MITM 来捕获握手(以及之后的任何 PPTP 流量),对握手进行离线破解并导出 RC4 密钥。然后,攻击者将能够解密和分析 PPTP VPN 中承载的流量。PPTP 不提供前向保密,因此只需破解一个 PPTP 会话就足以使用相同的凭据破解所有以前的 PPTP 会话。

此外,PPTP 对通过隧道传输的数据的完整性提供了较弱的保护。RC4 密码虽然提供加密,但不会验证数据的完整性,因为它不是带有关联数据的经过身份验证的加密 (AEAD) 密码。PPTP 也不对其流量(例如 HMAC)进行额外的完整性检查,因此容易受到比特翻转攻击,即。攻击者可以修改 PPTP 数据包,几乎没有被检测到的可能性。对 RC4 密码的各种已发现攻击(例如 Royal Holloway 攻击)使 RC4 成为保护大量传输数据的糟糕选择,而 VPN 是此类攻击的主要候选者,因为它们本质上通常传输敏感和大量数据。

如果您愿意,您实际上可以尝试自己破解 PPTP 会话。对于 Wi-Fi 用户,它涉及 ARP 毒化您的目标,以便目标通过您发送 MSCHAPv2 握手(您可以使用 Wireshark 或任何其他数据包捕获工具捕获)。然后,您可以使用 Chap2Asleap 之类的工具破解握手,或者如果您有几百美元的闲钱,可以将捕获的握手提交给在线破解服务。然后可以使用恢复的用户名、哈希、密码和加密密钥来冒充该用户登录 VPN,或追溯解密目标的流量。显然,请不要在未经适当授权和受控环境之外进行此操作

简而言之,请尽可能避免使用 PPTP。

有关详细信息,请参阅http://www.computerworld.com/s/article/9229757/Tools_released_at_Defcon_can_crack_widely_used_PPTP_encryption_in_under_a_day以及如何判断 PPTP 隧道是否安全?.

可以在 http://www.isg.rhul.ac.uk/tls/RC4mustdie.htmlhttps://www.rc4nomore.com/中找到使用 RC4 发现的问题(导致 TLS 等协议中的现实安全问题)

破解部分请参考 https://www.rastating.com/cracking-pptp-ms-chapv2-with-chapcrack-cloudcracker/https://samsclass.info/124/proj14/p10-pptp.htm

尽管最近发现了 MSCHAPv2 协议握手的缺陷,但仍然存在使用 PPtP VPN 可能被认为是“实际上安全”的用例(即,如果您不是偏执狂并且躲避拥有大量计算资源的 CIA在眼前)。

例如,我最喜欢使用 VPN 是在旅行时连接到公共 WiFi 热点。在这样的热点上,您的连接时间可能不会超过几分钟/小时,而破解会话即使使用云服务也需要大约一天的时间。破解会话需要一些钱。我无法想象任何理智的破解者会投资破解您的无线会话,而不是从热点窃取任何其他不受保护的会话。这对我来说是“实际上安全的”。

PPTP VPN 与 WPA2 WiFi 共享 MSCHAPv2 身份验证 - 它是相同的身份验证协议。但在 VPN over wire 的情况下,它至少更安全一些:在 WiFi 上,任何人都可以发出命令断开客户端,从而在攻击者准备捕获它时强制它进行握手。当您通过网络连接到 VPN 时,攻击者需要等待握手(当然,如果他不能拔掉您的网络)。

但正如多次所说,将 PPTP 用于公司 VPN 将是一个非常糟糕的主意。从理论的角度来看,它确实被打破了。

PPTP v1 很久以前就基于一个有问题的 MS 设计被打破了......(https://www.schneier.com/academic/pptp/faq/

但是,微软确实发布了解决最大问题的修复程序。也是很久以前:

  • 较弱的 LAN 管理器散列不再与更强的 Windows NT 散列一起发送。这是为了防止像 L0phtcrack 这样的自动密码破解者首先破解较弱的 LAN Manager 哈希,然后使用该信息破解更强的 NT 哈希。

  • 已引入服务器的身份验证方案。这是为了防止恶意服务器伪装成合法服务器。MS-CHAPv1 中的更改密码数据包已被 MS-CHAPv2 中的单个更改密码数据包替换。这是为了防止欺骗 MS-CHAP 失败报文的主动攻击。

  • MPPE 在每个方向上使用唯一键。这是为了防止在每个方向上对文本流进行异或以消除加密效果的琐碎密码分析攻击。 来源

剩下的唯一一件事(根据 Schneier 和 Mudge 的说法)是密码猜测,您可以通过使用像样的密码并选择不使用集成的 Windows AD 身份验证,而是使用单独的登录来规避密码猜测。

这些更改解决了原始协议的大多数主要安全漏洞。但是,修改后的协议仍然容易受到来自 L0phtcrack 等黑客工具的离线密码猜测攻击。

因此,PPTP 仍然非常有效,并且所有“PPTP 被黑客入侵”消息都是错误信息的副本,并且只谈论最初的黑客攻击。特别适用于家用路由器。OpenVPN 需要更多的 CPU 能力。

多年后,另一个身份验证问题出现了。影响?

攻击者如何利用这些弱点?

攻击者必须能够拦截受害者的 MS-CHAP v2 握手以利用此弱点,通过执行中间人攻击或拦截开放的无线流量。获得 MS-CHAP v2 身份验证流量的攻击者然后可以使用漏洞代码来解密用户的凭据。

我们从未听说过真正的黑客攻击甚至尝试。黑客需要能够读取客户端的网络通信,这在很大程度上是不可行的。“开放无线流量”已经有好几年没有实践了。

PPTP 形象早已被第一次事件破坏了,而且由于其奇怪的 MS 实现细节......

它仍然有效。许多 VPN 提供商仍然提供 PPTP(基于相同的一半信息的消息“不安全”)也“证明”了这一事实。当然,OpenVPN 更安全,但这并不会使 PPTP 无法使用。