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
,能帮助到你进行深一步的提权! -
对于路径配置的提权,我们所需要的权限只需要能写
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· 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