Avira VPN权限提升漏洞深度分析

本文详细分析了Avira Phantom VPN 2.15.2.28160版本中的权限提升漏洞,涉及DACL修改、硬链接攻击等技术细节,并提供了完整的漏洞利用流程和时间线。

Avira VPN 2.15.2.28160 权限提升漏洞分析

作者:enigma0x3
发布日期:2019年3月20日

产品信息

  • 产品版本:Avira Phantom VPN 2.15.2.28160
  • 下载来源:https://package.avira.com/package/oeavira/win/int/avira_en_vpn__ws.exe
  • 测试操作系统:Windows 10 1803 (x64)
  • 漏洞类型:Avira VPN权限提升漏洞

漏洞简介

当在VPN设置菜单中进行配置更改时,Avira Phantom VPN服务会修改“C:\ProgramData\Avira\VPN\VpnSharedSettings.backup”和“C:\ProgramData\Avira\VPN\VpnSharedSettings.config”的DACL(自主访问控制列表)。通过在“C:\ProgramData\Avira\VPN\VpnSharedSettings.backup”上设置硬链接,可以覆盖任意文件的DACL,从而导致从低权限用户提升至SYSTEM权限。

漏洞详解

通过VPN GUI进行配置更改时,VPN服务(Avira.VPNService.exe)会调用“Avira.VPN.Core.dll”中的“AdjustSecurity()”函数,修改DACL以允许任何经过身份验证的用户写入“C:\ProgramData\Avira\VPN\VpnSharedSettings.backup”或“C:\ProgramData\Avira\VPN\VpnSharedSettings.config”。当进行配置更改(低权限用户即可执行)时,服务通过调用“EnsureFileExists()”确保共享VPN配置文件存在:

如果配置文件不存在,服务会创建它并继续;如果存在,则直接进入“StorageSecurity.AdjustSecurity()”函数。对于共享和私有配置配置文件,传递的“StorageType”分别为“AllUserAccess”或“Secure”。私有VPN配置文件被分配“Secure”存储类型,而共享配置文件被分配“AllUserAccess”。

当调用“AdjustSecurity()”函数(传递配置文件的存储类型)时,它会适当调整文件本身的DACL。漏洞就出现在这里。对于共享配置文件(StorageType为“AlluserAccess”),VPN服务调用“AdjustSecurity()”并授予所有用户对文件的完全控制权限:

这是危险的,因为“SetAccessControll()”调用会更改低权限用户可以控制的文件的DACL。那么,我们如何利用这一点呢?

漏洞利用步骤

  1. 创建硬链接:攻击者需要在“C:\ProgramData\Avira\VPN\VpnSharedSettings.backup”上创建硬链接,并将其指向一个文件。例如,指向“C:\Program Files (x86)\Avira\VPN\OpenVPN\phantomvpn.exe”。这样做将覆盖“C:\Program Files (x86)\Avira\VPN\OpenVPN\phantomvpn.exe”的DACL。

  2. 触发配置更改:打开VPN并点击“Settings”选项卡,取消选中“Send Diagnostic Data”框。这将触发配置更改并启动代码路径:

此时,“C:\Program Files (x86)\Avira\VPN\OpenVPN\phantomvpn.exe”的DACL已被覆盖,允许任何用户写入。攻击者现在只需复制恶意二进制文件来替换它:

  1. 执行恶意二进制文件:通过尝试连接VPN来执行恶意二进制文件。可以在VPN GUI中点击“Secure my Connection”:

点击“Secure my connection”后,您应该看到一些以SYSTEM权限运行的cmd.exe进程:

披露时间线

  • 2018年9月28日:向Avira报告
  • 2018年10月1日:Avira确认报告
  • 2018年10月4日:Avira能够复现
  • 2018年12月13日:问题解决

相关文章

  • Avira VPN通过不安全更新位置进行本地权限提升(2020年1月15日)
  • Avira VPN(2.15.2.28160)通过不安全更新位置进行权限提升(2019年3月20日)
  • Avira Optimizer本地权限提升(2019年8月29日)
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计