⓫⁄₁₁ ⟦ OSCP ⬖ 研记 ⟧ Windows权限提升 ➱ 未加引号服务路径漏洞利用(上)

**郑重声明:**本文所涉安全技术仅限用于合法研究与学习目的,严禁任何形式的非法利用。因不当使用所导致的一切法律与经济责任,本人概不负责。任何形式的转载均须明确标注原文出处,且不得用于商业目的。

🔋 点赞 | 能量注入 ❤️ 关注 | 信号锁定 🔔 收藏 | 数据归档 ⭐️ 评论| 保持连接💬

🌌 立即前往 👉晖度丨安全视界🚀​

​​​​​

▶ 信息收集

▶ 漏洞检测
初始立足点

权限提升 ➢ Windows权限提升 ➢ 未加引号服务路径漏洞利用(上) 🔥🔥🔥
横向移动

▶ 报告/分析

▶ 教训/修复

目录

1.Windows权限提升

[1.1 Windows未加引号服务路径漏洞利用](#1.1 Windows未加引号服务路径漏洞利用)

[1.1.1 漏洞原理](#1.1.1 漏洞原理)

[1.1.1.1 CreateProcess函数介绍](#1.1.1.1 CreateProcess函数介绍)

1.CreateProcess函数原型

2.代码示例

3.与漏洞的关联

[1.1.1.2 攻击前提与思路](#1.1.1.2 攻击前提与思路)

1.漏洞利用前提

2.攻击思路

[1.1.1.3 路径解析顺序](#1.1.1.3 路径解析顺序)

[欢迎❤️ 点赞 | 🔔 关注 | ⭐️ 收藏 | 💬 评论](#欢迎❤️ 点赞 | 🔔 关注 | ⭐️ 收藏 | 💬 评论)


1.Windows权限提升

在渗透测试中,我们通常以非特权用户 身份获得初始立足点。但为了深入探测(如搜索敏感信息、提取密码哈希等),往往需要提升至管理员权限( 比如:使用Mimikatz提取密码哈希**),** 这个过程就是特权提升

📊 权限提升三大路径: 本文开始介绍:++Windows未加引号服务路径漏洞利用++。

阶段 目标 关键方法
1. 枚举Windows 获取系统情报 手动搜索 + 自动化工具
2. 滥用Windows服务 攻击服务漏洞 服务配置缺陷、权限滥用
3. 利用其他组件 扩大攻击面 计划任务、系统漏洞利用

1.1 Windows未加引号服务路径漏洞利用

1.1.1 漏洞原理

在Windows系统中,当服务对应的可执行文件路径++包含空格且未用引号包裹++ 时,系统在启动服务解析路径的方式存在缺陷,可能被攻击者利用来提升权限

当对一个服务的主目录或子目录**++++具有写入权限但无法替换其中的文件++++**时,可以利用这种攻击。

正如我们在之前的章节中学到的,每个Windows服务都映射到一个在服务启动时运行的可执行文件。如果该文件的路径包含一个或多个空格,并且没有用引号括起来,那么它可能成为一个权限提升攻击的机会。


1.1.1.1 CreateProcess函数介绍

CreateProcess函数:是Windows系统中用于创建新进程 的核心 API 函数,负责启动外部程序并配置其运行环境。

1.CreateProcess函数原型
参数名称 参数类型 关键说明
lpApplicationName LPCSTR 程序主路径 。指定可执行文件的完整路径。若为空,则程序路径由lpCommandLine提供
lpCommandLine LPSTR 命令行参数字符串 。通常包含:程序路径及启动参数。这是未加引号路径漏洞的关键参数
lpProcessAttributes LPSECURITY_ATTRIBUTES 指向新进程安全属性 的指针,控制句柄继承性。通常传入NULL
lpThreadAttributes LPSECURITY_ATTRIBUTES 指向新线程安全属性 的指针。通常传入NULL
bInheritHandles BOOL 句柄继承标志 。TRUE表示子进程继承父进程的可继承句柄。常设为FALSE
dwCreationFlags DWORD 进程创建标志。用于控制创建方式(如CREATE_NEW_CONSOLE、CREATE_NO_WINDOW)。
lpEnvironment LPVOID 指向新环境变量块 的指针。为NULL时,子进程继承父进程环境
lpCurrentDirectory LPCSTR 新进程的当前工作目录为NULL时,继承父进程工作目录
lpStartupInfo LPSTARTUPINFO 指向 STARTUPINFO 结构的指针,必须初始化。配置主窗口外观及标准句柄。
lpProcessInformation LPPROCESS_INFORMATION 指向 PROCESS_INFORMATION 结构的指针,用于接收新进程的句柄和ID信息
2.代码示例

以下是使用CreateProcess函数启动一个外部应用程序(例如notepad.exe)的简单示例:

3.与漏洞的关联

如果CreateProcess函数的第一个参数lpApplicationName在解析包含空格的未加引号路径 时,会错误地将空格前的部分识别为程序名,剩余部分当作参数,从而导致路径劫持 。这是未加引号服务路径漏洞得以存在的根本技术原因。

例如: 当服务的启动路径是(如C:\Program Files\MyApp\app.exe未被引号包裹时,该函数会按以下方式解析:

  • 从左到右解析路径: CreateProcess函数会从路径字符串的左侧开始解析,直到遇到第一个空格。
  • 遇到空格时停止:当函数遇到路径中的空格时,它会认为路径到空格处为文件名。剩余部分会被认为是参数。

错误解析示例C:\Program Files\MyApp\app.exe

  • 系统会尝试执行:C:\Program.exe

  • 并将Files\MyApp\app.exe视为参数


1.1.1.2 攻击前提与思路

🔧 攻击实施步骤:

步骤 操作 说明
1 识别未加引号的服务路径 使用sc query或PowerShell获取服务配置
2 检查目录写入权限 确定可在哪个级别目录植入恶意文件
3 创建恶意可执行文件 命名与系统尝试执行的文件名一致
4 放置到合适目录 等待服务重启或系统重启
5 触发执行 恶意代码以高权限运行
1.漏洞利用前提

枚举并确认目标服务启动路径包含空格且未使用引号包裹

2.攻击思路

①创建恶意程序 编写恶意可执行文件,并将其名称设置为系统在解析路径时会优先尝试执行的对应文件名 (如 Program.exeMy.exe 等)。

②放置恶意程序

将该文件放置于漏洞路径解析顺序中某个您具有++写入权限++的对应目录 (例如 C:\C:\Program Files\ 或服务的子目录)。

③触发执行

当服务重启或系统重启时,系统会按照解析顺序优先执行您的恶意程序 ,而非原始服务程序。恶意程序将以服务账户(通常是高权限的 LocalSystem)的身份运行,从而实现权限提升。

⚠️ 关键概念说明:

LocalSystem账户

  • Windows内置的系统级账户

  • 拥有最高权限,可访问几乎所有系统资源

  • 常用于运行操作系统核心服务

  • 不会出现在常规用户列表中


1.1.1.3 路径解析顺序

接下来,通过一个示例来展示。未加引号的服务路径是:

C:\Program Files\My Program\My Service\service.exe

当Windows启动服务时,由于路径中存在空格,它将按照以下顺序尝试启动可执行文件。

bash 复制代码
1. C:\Program.exe
2. C:\Program Files\My.exe
3. C:\Program Files\My Program\My.exe
4. C:\Program Files\My Program\My Service\service.exe  ← 正确文件

假设攻击者对C:\Program Files\My Program\目录有写入权限:

  • 原始路径C:\Program Files\My Program\My Service\service.exe

  • 系统第三次尝试执行C:\Program Files\My Program\My.exe

  • 攻击者操作 :在该目录创建名为My.exe的恶意程序

  • 结果 :服务启动时,优先执行 My.exe的恶意程序,获得与服务相同的权限(实现提取)

目录权限分析:

  • **C:\** 或 *C:\Program Files* → 标准用户通常无写入权限

  • 软件安装子目录 → 可能因配置不当权限过于宽松

  • 攻击可行性:通常只有软件主目录可能被利用

🛡️ 漏洞本质:

该漏洞本质上是路径解析顺序目录权限控制不当 共同作用的结果。攻击者通过"提前拦截 "系统对可执行文件的查找过程,实现权限提升


欢迎❤️ 点赞 | 🔔 关注 | ⭐️ 收藏 | 💬 评论

每一份支持,都是我持续输出的光。

相关推荐
Latticy8 小时前
vulnhub系列靶机-Photographer
网络·网络安全·内网渗透·内网
公子小六8 小时前
基于.NET的Windows窗体编程之WinForms滑块与上下控件
windows·microsoft·c#·.net·winforms
sbjdhjd13 小时前
PHP eval 型 RCE:flag 正则过滤与通配符绕过实操 | 01
安全·web安全·网络安全·开源·系统安全·php·网络攻击模型
学海浪太大13 小时前
笔记本电脑插入显示器没反应
windows
数据知道13 小时前
静态分析入门——PE 结构、字符串、导入表快速定性
网络·安全·web安全·网络安全
黄一一91124314 小时前
告别手动敲字,本地截图 OCR,识别完直接复制!开源截图识别工具
windows·ocr·开源软件·贴图
芯盾时代16 小时前
金融新规全条款合规落地映射的解决方案
网络·网络安全·金融
洪流之源16 小时前
Windows 远程 Ubuntu 24.04 桌面
linux·windows·ubuntu
是小李呀17 小时前
Windows 虚拟内存配置完全指南:从原理到实操,彻底解决内存不足与 OOM 问题
windows
毕竟是shy哥19 小时前
windows电脑WSL下本地构建docker镜像
windows·docker·容器