IPBUF安全漏洞报告
English
CVE-2016-20061 CVSS 7.8 高危

CVE-2016-20061: sheed AntiVirus 未引用服务路径提权漏洞

披露日期: 2026-04-04

漏洞信息

漏洞编号
CVE-2016-20061
漏洞类型
未引用服务路径
CVSS评分
7.8 高危
攻击向量
本地 (AV:L)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
sheed AntiVirus

相关标签

权限提升未引用服务路径LPEsheed AntiVirus本地攻击

漏洞概述

sheed AntiVirus 2.3版本中的ShavProt服务存在未引用服务路径漏洞。该漏洞是因为服务注册表中的ImagePath路径未被引号包裹,导致Windows服务控制管理器在解析路径时产生歧义。本地攻击者可利用此缺陷,在系统特定目录下放置恶意可执行文件,通过触发服务重启或系统重启,使服务以LocalSystem权限执行恶意代码,从而实现本地权限提升。

技术细节

在Windows操作系统中,当创建服务时,如果可执行文件的路径包含空格且未使用双引号包裹,服务控制管理器(SCM)在启动服务时会尝试从空格处分隔路径并查找可执行文件。具体而言,对于路径 `C:\Program Files\ShavAntivirus\ShavProt.exe`,系统会按顺序尝试执行 `C:\Program.exe`、`C:\Program Files\ShavAntivirus.exe`,直到找到文件或路径结束。在sheed AntiVirus 2.3版本中,ShavProt服务的ImagePath配置未正确添加引号,触发了该逻辑漏洞。攻击者利用此漏洞需要具备本地文件系统的写入权限。攻击者可以在系统根目录(如C:\)或PATH环境变量目录中创建一个名为 `Program.exe` 的恶意文件。由于该目录的优先级或解析逻辑,当服务尝试启动时,SCM会优先执行攻击者放置的 `Program.exe` 而非正确的服务程序。因为ShavProt服务配置为以LocalSystem账户(拥有系统最高权限)运行,恶意代码随之获得系统级控制权,允许攻击者安装后门、查看敏感数据或破坏系统完整性。

攻击链分析

STEP 1
1. 信息收集
攻击者确认目标系统上安装了sheed AntiVirus 2.3,并检测ShavProt服务的配置。
STEP 2
2. 恶意文件放置
攻击者利用低权限账户,在服务路径截断的可写位置(如C:\Program.exe)放置恶意可执行程序。
STEP 3
3. 触发服务
攻击者等待管理员重启服务、系统重启,或通过其他方式强制ShavProt服务停止并重新启动。
STEP 4
4. 权限提升
Windows服务控制管理器误将攻击者的恶意文件作为服务进程启动,由于服务运行在LocalSystem权限下,攻击者获得系统最高权限。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# Detection PoC for Unquoted Service Path # This script checks if the ShavProt service path is unquoted. import win32service import win32con def check_unquoted_service_path(service_name): try: # Open the Service Control Manager scm = win32service.OpenSCManager(None, None, win32con.SC_MANAGER_CONNECT) # Open the specific service service = win32service.OpenService(scm, service_name, win32con.SERVICE_QUERY_CONFIG) # Query the service config config = win32service.QueryServiceConfig(service) path = config[2] # BinaryPathName print(f"[*] Service Path: {path}") if path and ' ' in path: if not (path.startswith('"') and path.endswith('"')): print(f"[!] VULNERABLE: Service '{service_name}' has an unquoted path containing spaces.") return True else: print(f"[+] Safe: Path is quoted.") else: print(f"[+] Safe: No spaces or empty path.") win32service.CloseServiceHandle(service) win32service.CloseServiceHandle(scm) except Exception as e: print(f"Error checking service: {e}") return False if __name__ == "__main__": # Target service mentioned in CVE check_unquoted_service_path("ShavProt")

影响范围

sheed AntiVirus 2.3

防御指南

临时缓解措施
建议用户立即升级sheed AntiVirus至最新版本。如果无法立即升级,可通过修改注册表中ShavProt服务的ImagePath值,将路径用双引号包裹(例如将 C:\Program Files\...\service.exe 改为 "C:\Program Files\...\service.exe"),并重启服务来缓解此漏洞。

参考链接

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