文章总结: 本文聚焦Windows服务提权技术,系统阐述了利用服务ACL配置不当进行提权的多种手法,包括服务执行文件、DLL依赖项、注册表、服务本身权限及可信任服务路径等场景。文章提供了具体命令示例,并介绍了自动化检测工具,具备较强实操性,对渗透测试与红队工作具有参考价值。
综合评分: 82
文章分类: 渗透测试,红队,内网渗透,安全工具
windows提权(一)-利用服务提权
原创
跃迁
跃迁
跃迁Sec
2026年9月21日 18:18
湖北
在小说阅读器读本章
去阅读
在公众号小说中沉浸阅读
本章我将聚焦于如何利用windows服务进行提权,主要包括以下几个方面,均为服务acl配置不当导致的提权手法
服务执行所在文件/dll/依赖项权限提权服务注册表权限提权服务本身(sc)权限提权服务恢复选项 (Recovery) 配置滥用提权可信任服务路径(scm绕过)
我们可以通过以下命令确定服务运行身份
sc qc 服务名
我们通过以上命令查看服务运行的具体信息,下面的server_start_name就是服务运行的身份,localsystem就是system用户权限,我们还能看到该服务运行程序的具体路径
首先,前面四项都可以认为是服务以及相关文件的acl配置错误导致的,当一个以高权限用户身份运行的服务低权限用户可以更改相关配置,就会造成提权,具体来说就是如果对服务运行的文件或者是相关dll文件可以进行更改替换,我们就能将原本的服务文件或者dll文件更改为我们的上线木马文件,当服务再次启动时就会以高权限身份去运行木马导致提权,同样,如果我们能操纵注册表或者服务本身,都是能通过更改服务运行程序达到提权目的的
比如以下几个场景
我们使用微软自己提供的accesschk工具检测服务daclsvc服务的acl时,发现user用户具有更改服务配置的权限,我们可以运行通过以下命令更改服务配置
sc config 服务名 binpath= "木马文件地址"
再比如上面,同样使用accesschk检测regsvc服务的注册表时,发现当前用户所在组可以对注册表的值进行操作,通过以下命令修改注册表
reg add HKLM\SYSTEM\CurrentControlSet\services\服务名 /v ImagePath /t REG_EXPAND_SZ /d 木马文件地址 /f
accesschk.exe /accepteula -quvw 具体路径
使用以上命令对具体文件进行acl检查,可以看到当前用户所属组具有写权限
copy 木马地址 替换地址 /Y
使用以上命令更改服务程序
对于服务来说,还有一个可信任服务路径的提权手法,原理是当服务创建时,在设置服务运行程序路径时没有加上引号并且路径包含空格,会导致windows将服务运行程序路径在空格处截断,将后面的值当作参数,具体如下
"C:\Program Files\Docker\Docker\Docker Desktop.exe"和C:\Program Files\Docker\Docker\Docker Desktop.exe在服务中,当地址是"C:\Program Files\Docker\Docker\Docker Desktop.exe"时,windows就能确定程序运行地址是"C:\Program Files\Docker\Docker\Docker Desktop.exe"当没有引号是,windows可能会认为地址是C:\Program.exe或者C:\Program Files\Docker\Docker\Docker.exe
使用以下命令筛选服务运行程序路径没有引号并且有空格的服务
wmic service get name,displayname,pathname,startmode |findstr /i "Auto" |findstr /i /v "C:\Windows\\" |findstr /i /v """
我们就可以将一个名为”dotNet.exe”的木马程序放在C盘下面,重启服务
但是由于scm的影响,需要程序运行之后向scm返回状态,我们这里需要一个空客程序充当dotNet.exe,运行的同时去执行真正的木马程序t.exe并向scm返回程序运行状态
可信任路径的具体情况就是这样
对于一个计算机来说,可能拥有海量的服务,难道我们要一个一个服务手动去找吗,肯定不现实,这里主包自己写了一个程序帮我们自动化判断以上所有情况是否存在,原理也十分简单,通过调用accesschk.exe对服务本身以及服务的注册表、服务运行程序进行权限判断,同时找出可信任服务路径,进行一个自动化审查工作
主包将程序的源码上传到了github上面,感兴趣的师傅们可以自己去看一下
https://github.com/YueQian-CQM/windows_server_check
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:跃迁Sec 跃迁
跃迁《windows提权(一)-利用服务提权》