news 2026/2/26 14:07:00

⓫⁄₇ ⟦ OSCP ⬖ 研记 ⟧ Windows权限提升 ➱ 滥用Windows服务提权(上)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
⓫⁄₇ ⟦ OSCP ⬖ 研记 ⟧ Windows权限提升 ➱ 滥用Windows服务提权(上)

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

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

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

​​​

▶ 信息收集
▶ 漏洞检测
初始立足点
权限提升➢ Windows权限提升 ➢ 滥用Windows服务提权(上) 🔥🔥🔥
横向移动
▶ 报告/分析
▶ 教训/修复

目录

1.Windows权限提升

1.1 滥用Windows服务提权

1.1.1 Windows服务简介

1.1.1.1 Windows程序 vs. Windows服务

1. 普通桌面程序(非服务)

2. Windows服务(后台服务)

3.常见问题

1.1.1.2 三种服务滥用攻击方式

1.1.2 劫持服务二进制文件攻击实战

1.1.2.1 攻击场景

1.攻击链流程

2.攻击步骤详解

3.攻击利用的关键要点

4.攻击实操流程图

1.1.2.2 服务侦察与发现

1.获取服务列表

2.XAMPP服务路径异常安全分析

1.1.2.3 枚举服务二进制权限

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


1.Windows权限提升

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

📊 权限提升三大路径:本文开始介绍:利用windows服务漏洞进行权限提升

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

1.1 滥用Windows服务提权

1.1.1 Windows服务简介

Windows服务:是在后台长期运行的程序,由服务控制管理器(SCM)统一管理,类似于Unix/Linux系统中的守护进程

特性描述
管理方式服务管理工具、PowerShell、sc.exe命令行等工具进行管理。
运行账户使用LocalSystem(NT AUTHORITY\SYSTEM 、BUILTIN\Administrators)、Network Service、Local Service、自定义账户等来运行其自身的服务。
安全重要性滥用Windows服务可用于权限提升攻击

1.1.1.1Windows程序 vs. Windows服务
类型运行账户选择说明
普通Windows程序使用当前登录用户的权限启动时无需选择服务账户,直接继承启动它的用户权限
Windows服务必须配置特定的服务账户安装时必须指定运行账户,独立于登录用户

📝 详细解释:

1.普通桌面程序(非服务)

当在Windows上双击一个.exe文件或从开始菜单启动程序时:

  • 不选择服务账户

  • 自动使用当前登录用户的身份和权限运行

  • ✅ 如果当前用户是标准用户,程序就是标准权限

  • ✅ 如果当前用户是管理员,程序可以请求提升权限(UAC弹窗)

例如:您以用户Alice登录,启动记事本,记事本就以Alice的权限运行。

2.Windows服务(后台服务)

服务是一种特殊的程序,由服务控制管理器(SCM)管理:

  • 必须预先配置运行账户

  • ✅ 配置在服务安装时设置,存储在注册表中

  • 独立于任何登录用户,即使无人登录也能运行

  • ✅ 常见的服务账户选项:

服务账户类型权限级别典型用途
LocalSystem🟥 最高(SYSTEM)系统核心服务
Local Service🟨 较低(本地受限)不需要网络访问的服务
Network Service🟧 中等(网络受限)需要网络通信的服务
自定义用户账户🟩 按账户权限特定业务应用

类比理解:

  • 普通程序👉 像您亲手做的任务,用您自己的权限

  • Windows服务👉 像您雇佣的工人,可以指定他使用哪种工作证(账户)

安全意义:

正是因为服务可以配置为高权限账户运行(如SYSTEM),而且长期后台运行,才使得我们之前讨论的服务漏洞(如二进制劫持)如此危险——攻击者只需替换文件,下次服务重启就会以高权限执行恶意代码

3.常见问题

Q:我可以用管理员权限运行普通程序吗?

A:可以,通过“以管理员身份运行”,但这只是临时提升权限,与服务账户是不同概念。

Q:普通程序能像服务一样在后台运行吗?

A:技术上可以(如使用计划任务),但这不是标准的“Windows服务”,也不使用服务账户体系。

Q:为什么我的程序不能直接选择“以SYSTEM运行”?

ASYSTEM是受保护的内置账户,只有通过服务机制或特殊漏洞利用才能获得此权限。

简单说:只有Windows服务才需要预先配置服务账户,普通桌面程序直接使用当前用户权限运行。这个区别是理解Windows权限提升攻击的关键基础!


1.1.1.2 三种服务滥用攻击方式

本系列文章主要介绍其中三种通过滥用服务来提权。

攻击类型核心原理关键条件
劫持服务二进制文件替换可执行文件对服务二进制文件有写入权限
劫持服务DLL文件替换依赖的DLLDLL加载路径不安全
利用未加引号的服务路径路径解析漏洞服务路径未用引号包裹且存在空格

1.1.2 劫持服务二进制文件攻击实战

1.1.2.1 攻击场景

软件开发人员安装服务时权限配置不当,使普通用户(Users组)对服务二进制文件拥有完全控制权(读写权限)。

1.攻击链流程

2.攻击步骤详解
  • 侦察阶段:攻击者发现某个服务的二进制文件权限设置存在漏洞

  • 替换阶段:将原始服务程序替换为恶意程序

  • 触发阶段

    • 手动重启服务

    • 或等待系统重启(若服务设置为自动启动

  • 提权阶段:恶意程序以服务账户(通常是LocalSystem)权限执行

3.攻击利用的关键要点
  • 权限配置错误是根本原因

  • 服务重启机制是攻击触发器

  • LocalSystem账户提供最高权限执行环境

4.攻击实操流程图


1.1.2.2 服务侦察与发现

我们的目标攻击主机是CLIENTWK220,我们先通过RDP远程桌面连接(输入用户名dave和密码)到这台主机,开始获取本主机“所有已安装的Windows服务的列表”。

1.获取服务列表

可选择各种方法,如:

①GUI中的services. msc,如下图:

②Get-Service:使用PowerShell查询

③Get-CimInstance(取代Get-WmiObject):使用PowerShell查询,这里使用此方法。

# 🎯 查询所有运行中的服务:> Get-CimInstance -ClassName win32_service | Select Name,State,PathName | Where-Object {$_.State -like'Running'}
命令组件作用备注
Get-CimInstance查询WMI对象替代Get-WmiObject
win32_service服务信息类包含服务的详细数据
Select选择关键字段列Name、State、PathName
Where-Object过滤条件只显示"Running"状态

🚩 关键发现:

  • XAMPP服务异常路径:Apache和MySQL安装在C:\xampp\而非C:\Windows\System32

  • 风险提示:用户自己安装的服务往往权限配置不当,易成为攻击目标

⚠️注意非交互式登录(如WinRM)绑定shell查询服务时,使用Get-CimInstance和Get-Service查询非管理员用户的服务时会出现“权限被拒绝”的错误。使用交互式登录如RDP,可以解决这个问题。


2.XAMPP服务路径异常安全分析

发现XAMPP服务异常路径,用户自定义安装的服务往往权限配置不当,易成为攻击目标。

对比维度标准安全情况当前风险情况
安装路径C:\Windows\System32\(系统受保护目录)C:\xampp\(用户自定义目录)
安装类型系统级标准安装用户级自定义安装
权限控制严格系统ACL保护依赖用户设置的松散权限
管理责任操作系统厂商软件开发/部署人员

🔗 攻击链条简化

非标准安装路径 → 宽松权限配置 → 二进制文件可被替换 → 服务重启执行恶意代码 → 系统权限沦陷

🛡️ 关键安全启示:

对于系统管理员:

  • 📍 监控非标准路径服务:定期审查不在System32下的服务二进制

  • 🔐 严格权限审核:确保服务文件仅有必要的最小权限

  • 📋 建立软件安装规范:限制用户自定义安装高权限服务

对于开发人员:

  • ⚙️ 遵循最小权限原则:服务账户避免使用SYSTEM等高权限

  • 📁 使用受保护目录:或将自定义目录纳入安全监控范围

  • 🔧 明确权限需求:精准配置所需权限,避免“完全控制”

💎 总结要点

“非常规路径 + 宽松权限 = 高危攻击面”


1.1.2.3 枚举服务二进制权限

接下来,枚举这两个服务二进制文件的权限。可选择:

  • 传统的icacls程序
  • PowerShell的Get-ACL。

在这个例子中将使用icacls,它既可在PowerShell中使用,也可在Windows命令行中使用。

📊 权限对比:

对比维度Apache httpd.exeMySQL mysqld.exe
文件路径C:\xampp\apache\bin\httpd.exeC:\xampp\mysql\bin\mysqld.exe

关键用户组

(以dave登录)

BUILTIN\UsersBUILTIN\Users
权限状态🔒读取和执行 (RX)🚨完全控制 (F)
权限含义- R:读取文件内容
- X:执行文件
- F:完全控制
- R:读取
- W:写入/修改
- X:执行
- D:删除
继承标记未明确(可能为默认)无(I)标记(手动设置)
攻击可行性不可行
(无法替换文件)
完全可行
(可直接替换为恶意程序)
风险等级🟢 低风险🔴 高危风险
安全影响用户仅能运行合法程序用户可植入任意恶意代码

🔑 关键权限说明

  • F:完全控制(读、写、执行、删除)

  • RX:读取和执行

  • (I):继承标记(本例中无此标记,说明权限是手动设置的)

在 icacls 的输出中,权限被标记为 I 时:表示该权限是继承的,但 I 并不是一个权限掩码,只是一个表示继承状态的标记。


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

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/26 13:25:03

博弈思维是可以学习的

博弈思维是可以学习的很多人提起博弈思维,总会下意识觉得它是“天生的智慧”——是那些善于算计、懂得权衡的人,与生俱来的能力,普通人难以企及。但事实上,博弈思维从来不是天赋的专属,它和读书、写字、思考一样&#…

作者头像 李华
网站建设 2026/2/19 2:32:17

25.5 成本类

🌟 一、挣值分析(Earned Value Analysis, EVA)✅(1)三个核心参数参数全称含义记忆技巧PVPlanned Value(计划价值)截止某时间点,计划要完成工作量的价值Planned 计划;Val…

作者头像 李华
网站建设 2026/2/25 14:19:29

【Godot】【架构】节点通信三件套对比(信号/组/事件总线:什么时候用谁)

Godot 节点解耦常用三种方式:信号、组、事件总线(Autoload)。本文对比用法、适用场景与注意点,附代码模板,帮你快速选型。 三件套总览 信号:点对点或一对多,事件驱动,带参数。 组 (Groups):标签式广播,可批量调用组内节点方法。 事件总线 (Autoload + 信号/方法):全…

作者头像 李华
网站建设 2026/2/25 19:28:24

XinServer 如何让小团队也能搭建企业级后台

XinServer 如何让小团队也能搭建企业级后台? 最近跟几个创业的朋友聊天,发现大家有个共同的烦恼:产品想法贼棒,前端页面也设计得飞起,但一到后端开发,进度就卡住了。要么是后端兄弟忙不过来,要么…

作者头像 李华
网站建设 2026/2/24 5:10:36

艾体宝新闻 | NPM 生态系统陷入困境:自我传播恶意软件在大规模供应链攻击中感染了 187 个软件包

NPM 生态系统遭受了迄今为止波及范围最广的供应链攻击之一,超过 187 个流行软件包被高级恶意软件入侵。该恶意软件能够自我传播和自动收集凭证。此次攻击影响了数百万周下载量的软件包,包括 angulartics2、ngx-toastr 和 ctrl/tinycolor,表明…

作者头像 李华
网站建设 2026/2/19 16:53:39

2026年:AI大模型风口下,技术人的职业生存危机与翻盘机遇

2026年初,AI技术的竞争愈发白热化,正深刻重塑着程序员的职业轨迹: 阿里云的核心业务已全面融入Agent体系,AI原生架构成为主流;字节跳动有30%的后端岗位,明确要求具备大模型开发与落地能力;腾讯…

作者头像 李华