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 @ 2020-01-25 00:09  zpchcbd  阅读(1137)  评论(0编辑  收藏  举报