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.exetxt的文件


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

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

运行C:\Program Files.exe


总结:

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

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

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

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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM