windows粘滞键提权的尝试与思考

本文通过实验展示了如何利用Windows系统的粘滞键特性实现提权。具体步骤包括替换sethc.exe为cmd.exe,使未登录状态下可通过连续按五次Shift键启动具有system权限的命令提示符。

#前言
早上地铁上看到了安全客的一篇文章,从一道高质量的ctf题中看渗透测试,虽然只是一道ctf题,但是对其中提到的粘滞键提权十分好奇,这里对其做了一个简单的实验~

#原理
windows下连续按五次shift会调用c:\windows\system32\sethc.exe

在我们已经登录系统时,这个程序是以我们自己的用户权限运行的。

但是当我们未登陆系统(停留在登陆界面)的时候 系统还不知道我们将以哪个用户登陆,所以在这个时候连续按5次shift后门的话系统将会以system用户(比管理员更高级别的权限)来运行sethc.exe这个程序

cmd.exe的默认路径是c:\windows\system32\cmd.exe,所以这里如果我们把cmd.exe更名为sethc.exe,那么我们按下五次shift将会调用cmd窗口,由于是在未登录的状态下运行的,所以是个system权限的,所以就达到了提权的目的(可以进一步创建一个管理员权限的账户)

#虚拟机win7环境测试

  • 首先删除sethc.exe就失败了
    这里写图片描述
    这里写图片描述
  • 为什么我当前是管理员权限都无法对其修改?我们对其权限进行了查看
    这里写图片描述
    这里写图片描述
    这里写图片描述
    这里写图片描述
  • 首先将文件所有者改成我目前的管理员,再将所有权限赋予所有user,即不需要管理员权限
    这里写图片描述
    这里写图片描述
  • 这时就可以删除sethc.exe了,再同样操作对cmd,之后将其移到sethc.exe的目录下并改名为sethc
  • 重启电脑,未登陆状态连续按5次Shift
    这里写图片描述
    结果表明确实可以未登录就获取到具有管理员权限的cmd,但是很重要的一个步骤!我得需要管理员权限才能完成cmd的移动及改名操作
    #结论
    1、完成粘滞键提权操作的必要步骤需要首先具有管理员权限,其实感觉挺鸡肋的~
    2、针对两种特殊情况却又很有用,有管理员权限但被限制在c盘;或者get到trustedinstaller权限,去提权到管理员权限~
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值