Unquoted Service Paths提权

前言:Unquoted Service Paths提权笔记

参考文章:https://tulpa-security.com/2016/10/20/unquoted-service-paths/

介绍

当系统管理员配置Windows服务时,他们必须指定要执行的命令,或者运行可执行文件的路径。

当Windows服务运行时,会发生以下两种情况之一

第一种:如果给出了可执行文件,并且引用了完整路径,则系统会按字面解释它并执行。

第二种:如果服务的二进制路径未包含在引号中,则操作系统将会执行找到的空格分隔的服务路径的第一个实例。

不带引号的服务路径查看方法

wmic service get name,displayname,pathname,startmode |findstr /i "Auto" |findstr /i /v "C:\Windows\\" |findstr /i /v """

例如这个服务的可执行路径为:C:\Program Files (x86)\Sangfor\SSL\Promote\SangforPromoteService.exe

那么服务启动的时候运行的可执行文件就会有如下几种

C:\Program.exe
C:\Program Files (x86)\Sangfor\SSL\Promote\SangforPromoteService.exe

我们第一个实验,其中调用system函数进行执行分别来标识system("whoami >> whoami.exe")

然后我们可以尝试运行C:\Program Files (x86)\Sangfor\SSL\Promote\SangforPromoteService.exe,发现C:\会多出whoami.txt文件,如下图所示

第二个实验,我们将Program Files当作一个完整的路径,那么也就是用双引号进行包裹

运行C:\"Program Files" (x86)\Sangfor\SSL\Promote\SangforPromoteService.exe

运行C:\Program Files.exe

总结

  • 在msf中exploit/windows/local/trusted_service_path,这个模块也可以进行相应的利用,但是如果要更加隐蔽的话,大家还是参考上面的wmic的命令吧!

  • 比较鸡肋,因为大家都知道C:\ 目录默认是不让写的,但是大家可以去了解下什么叫Weak File Permissions,能帮助到你进行深一步的提权!

  • 对于路径配置的提权,我们所需要的权限只需要能写

posted @   zpchcbd  阅读(1207)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示