win7-10粘滞键漏洞复现
win7-10 粘滞键漏洞
¶原理
按下五次shift可以调用位于c:\windows\system32\sethc.exe
的程序, 通过其他方式将这个绑定到cmd上直接调用到cmd, 通过指令对用户密码进行修改或者删除, 从而登录不知道密码的计算机
在没有进入系统的情况下, 运行的程序是以最高权限去运行的
但是部分系统通过补丁对其进行了修复, 有打游戏的会禁用粘滞键
¶基本流程
- 首先,在未登录系统时,连续按5次shift键,弹出程序
c:\windows\system32\sethc.exe
- 其次,接着强制关机想办法进入"启动启动修复(推荐)"界面,该界面存在一个漏洞,它能打开一个本地的错误TXT文件.
- 再次,通过TXT文件的打开选项,在未进入系统之前就打开C盘存放“sethc.exe”的位置,接着将cmd.exe程序复制一个副本,并命名为“sethc.exe”.
- 最后,重启计算机再次按下5次Shift键时,会弹出CMD界面,再输入命令修改登录密码.
¶相关操作
- CMD工具路径:
c:\windows\system32\cmd
- 用户账户密码存储位置:
c:\windows\system32\config\SAM
- 修改账户密码:
net user 用户名 新密码
- 创建一个新用户:
net user 用户名 新密码 /add
- 删除用户:
net user 用户名 /del
- 提示管理员:
net localgroup administrators 用户名 /add
¶漏洞复现
当出现“正在启动 Windows”界面时, 立刻强制关机电脑; 这是模拟现实生活中突然断电或不正常关机的场景, 从而弹出“修复模式"; (不行就多试几次)
开机进入“windows错误恢复”
选择启动自动修复(推荐)
, 然后会弹出来: 您想使用"系统还原"还原计算机吗?点击取消
点击查看问题详细信息, 而不是不发送和发送有关此问题的信息; 随后翻到最底下点击那个txt文件的超链接
在记事本上面的选项卡中点击文件 -> 打开
进入c:\windows\system32
, 找到sethc
文件, 更改其名字;
此时因为未进入系统, 我们拥有最高权限, 这个操作是允许的;
将sethc改名之后, 我们找到cmd并创建一个副本, 将其更名为sethc
退出,重新启动计算机, 然后在登录界面按下五次shift, 发现弹出cmd窗口
¶后续操作
更改已经存在的账号
# 设置无密码(此处账户为smith) |
新增账号
# 新增一个用户(用户abc,密码abcde) |
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.