郑重声明:本文所涉安全技术仅限用于合法研究与学习目的,严禁任何形式的非法利用。因不当使用所导致的一切法律与经济责任,本人概不负责。任何形式的转载均须明确标注原文出处,且不得用于商业目的。
🔋 点赞 | 能量注入 ❤️ 关注 | 信号锁定 🔔 收藏 | 数据归档 ⭐️ 评论 | 保持连接💬
🌌 立即前往 👉晖度丨安全视界🚀
▶ 信息收集 ▶ 漏洞检测 ▶ 初始立足点 ▶ 权限提升 ➢ Windows权限提升 ➢ 未加引号服务路径漏洞利用(下)🔥🔥🔥 ▶ 横向移动 ▶ 报告/分析 ▶ 教训/修复
目录
1.Windows权限提升
1.1 Windows未加引号服务路径漏洞利用
1.1.2 未加引号服务路径漏洞实践
1.1.2.1 枚举漏洞服务
1. 服务枚举
2.验证启动/停止该服务的权限
1.1.2.2 路径权限检查
1.1.2.3 构建与部署恶意程序
1.1.2.4 服务启动与攻击验证
1.1.3 使用自动化工具PowerUp.ps1利用漏洞
1.1.3.1 恢复原始服务功能
1.1.3.2 使用自动化工具 PowerUp.ps1 识别与利用漏洞
1.1.4 未加引号服务路径漏洞利用全流程总结
欢迎❤️ 点赞 | 🔔 关注 | ⭐️ 收藏 | 💬 评论
1.Windows权限提升
在渗透测试中,我们通常以非特权用户身份获得初始立足点。但为了深入探测(如搜索敏感信息、提取密码哈希等),往往需要提升至管理员权限(比如:使用Mimikatz提取密码哈希),这个过程就是特权提升。
📊 权限提升三大路径:本文开始介绍:Windows未加引号服务路径漏洞利用。
| 1. 枚举Windows | 获取系统情报 | 手动搜索 + 自动化工具 |
| 2. 滥用Windows服务 | 攻击服务漏洞 | 服务配置缺陷、权限滥用 |
| 3. 利用其他组件 | 扩大攻击面 | 计划任务、系统漏洞利用 |
1.1 Windows未加引号服务路径漏洞利用
1.1.2 未加引号服务路径漏洞实践
1.1.2.1 枚举漏洞服务
现在对这个漏洞原理有基本了解,让我们实践一下。以RDP连接到CLIENTWK220(用户名steve ;密码securityIsNotAnOption++++++),然后开始枚举正在运行和停止的服务。
1. 服务枚举
使用PowerShell或WMIC工具列举系统服务,重点关注:
- 非Windows目录(因为普通用户没有权限写入)
- 路径包含空格未加引号的服务(可做漏洞利用)
①PowerShell:
上图显示:一个名为GammaService的停止服务。它未加引号的服务二进制路径包含多个空格,因此可能容易受到此攻击向量的影响。
或②WMIC工具:(cmd环境)
wmic service get name,pathname | findstr /i /v "C:\\Windows\\\\" | findstr /i /v """
| wmic service get name,pathname | 查询所有Windows服务的名称和可执行文件路径 |
| findstr /i /v "C:\\Windows\\" |
第一次过滤:排除系统目录(C:\\Windows\\)下的服务,聚焦于第三方服务 |
| findstr /i /v """ | 第二次过滤:筛选出路径未加引号包裹的服务("""匹配带引号的路径) |
| /i | 忽略大小写 |
| /v | 反向匹配(显示不包含指定字符串的行) |
此命令仅列出可能受到攻击向量影响的服务:GammaService,及其路径。
注意:wmic工具(Windows Management Instrumentation Command-line)在某些较新的Windows版本中已经不再默认安装或被弃用。如果需使用它,需要额外安装它。
2.验证启动/停止该服务的权限
目前,是以用户steve的身份登录的。在继续之前,检查是否可以以steve的身份使用Start-Service和Stop-Service启动和停止已识别的服务GammaService,以确认攻击可行性。
从以上的输出可看出,用户steve具有启动和停止GammaService的权限。由于可以自己重新启动这个服务,所以不需要发出重启命令来重新启动服务。
1.1.2.2 路径权限检查
接下来,列出Windows用于尝试定位服务可执行文件的路径(红框部分)。
使用icacls分别检查这些路径的访问权限,从前两个路径开始:
权限检查:用户 steve(属于 BUILTIN\\Users、NT AUTHORITY\\AUTHENTICATED Users组)无写入(W)权限。接下来,开始检查第三个选项的路径(C:\\Program Files\\Enterprise Apps):
权限检查:用户 steve 对该路径拥有写入(W)权限!
第四个路径不用检查,因为它代表了服务二进制文件本身。
攻击部署:
- 将恶意可执行文件命名为 Current.exe
- 放置于具有写入权限的目录:C:\\Program Files\\Enterprise Apps\\
- 当服务启动时,系统会优先执行此恶意文件(因路径解析顺序),从而触发权限提升。
1.1.2.3 构建与部署恶意程序
我们可通过前文中编译“服务二进制劫持”部分的C代码编译的adduser.exe文件作为恶意程序。
简要回顾下,adduser.c源代码:
编译后变成adduser.exe:
在Kali上,在可执行文件的目录中启动Python3 Web服务器以便提供它。
详细步骤如下:
①架设传输服务器
-
在Kali攻击机上启动 Python3 HTTP服务器,为恶意程序提供下载。
②下载至目标机
-
在目标Windows机器上,以steve用户身份使用类似以下命令下载文件,并直接保存为攻击所需的名称 Current.exe:
③放置到漏洞路径
-
将Current.exe复制到已确认具有写入权限的目录:C:\\Program Files\\Enterprise Apps\\。
至此,当目标服务重启时,系统将优先执行恶意Current.exe,从而完成权限提升攻击。
1.1.2.4 服务启动与攻击验证
启动服务触发攻击:
-
使用命令启动目标服务:
> Start-Service GammaService
-
系统按解析顺序优先执行恶意程序 C:\\Program Files\\Enterprise Apps\\Current.exe,并将剩余路径部分 Version\\GammaServ.exe 作为参数传递。
-
再次强调:一旦服务启动,我们的文件Current.exe将以与服务启动相同的权限执行。通常,以LocalSystem服务账户权限来执行Current.exe。
结果分析:
-
服务启动报错
由于恶意程序 Current.exe 无法正确处理原始服务的参数:Version\\GammaServ.exe是剩余参数。这个错误源于交叉编译的C代码不接受原始服务二进制路径的剩余参数,导致Windows报告服务启动失败。
-
攻击成功执行
尽管服务状态异常,但恶意程序已以LocalSystem权限完成执行,成功创建了管理员账户 dave2,并加入了管理员组administrators,实现提权!!!
1.1.3 使用自动化工具PowerUp.ps1利用漏洞
以上是手动利用的方式。接下来,尝试使用自动化工具PowerUp.ps1识别未加引号服务启动路径漏洞实现提取。
1.1.3.1 恢复原始服务功能
恢复步骤:
-
停止服务:使用 Stop-Service 命令停止目标服务。
-
删除恶意文件:移除放置在漏洞路径下的恶意程序 Current.exe。
-
服务恢复:此后启动服务时,系统将重新正常执行原始服务二进制文件 GammaServ.exe,恢复原有功能。
1.1.3.2 使用自动化工具 PowerUp.ps1 识别与利用漏洞
利用步骤:
下载并导入 PowerUp.ps1 脚本。(使用iwr下载PowerUp.ps1,将其导入到PowerShell会话中。然后,将ExecutionPolicy设置为Bypass,执行该工具。)
检测漏洞:运行 Get-UnquotedService 命令,自动识别系统中存在未加引号服务路径漏洞的服务(如 GammaService)。
自动化利用:使用 Write-ServiceBinary 命令自动创建并放置恶意二进制文件到相应目录,默认添加本地管理员用户(如 john)。然后重启服务GammaService,完成权限提升。
> Write-ServiceBinary -Name 'GammaService' -Path "C:\\Program Files\\Enterprise Apps\\Current.exe"
验证攻击结果:PowerUp.ps1自动化工具的默认行为是创建名为john的新本地用户,密码为Password123!。此外,该用户被添加到本地Administrators组。
1.1.4 未加引号服务路径漏洞利用全流程总结
1. 漏洞识别
-
发现服务可执行文件的 路径包含空格且未用引号包裹。
-
理解 Windows 会按空格分段、从左至右尝试执行的解析逻辑。
2. 条件分析与准备
-
检查路径中各前置目录的写入权限,找到可放置恶意文件的位置。
-
确认当前用户具有重启目标服务的权限。
3. 攻击实施
-
将恶意可执行文件命名并放置到权限允许的对应目录中。
-
重启服务,触发恶意程序以 LocalSystem 等高权限身份执行。
4. 自动化利用(PowerUp.ps1)
-
Get-UnquotedService:自动扫描并列出存在漏洞的服务。
-
Write-ServiceBinary:自动生成并部署恶意程序,完成权限提升。
5. 恢复与清理
-
停止服务、删除恶意文件,即可恢复服务的原始功能。
核心要点:该漏洞利用依赖于 路径解析缺陷 与 不当的目录权限配置 共同作用,通过“路径劫持”实现权限提升。
欢迎❤️ 点赞 | 🔔 关注 | ⭐️ 收藏 | 💬 评论
每一份支持,都是我持续输出的光。

网硕互联帮助中心






评论前必须登录!
注册