Windows系统漏洞之5次Shift漏洞启动计算机

一.原理知识

当我们使用计算机时,连续按下5次shift键会弹出一个程序
Windows系统漏洞之5次Shift漏洞启动计算机
程序名称为“esthc.exe”,其路径为“c:\windows\system32\sethc.exe”。

该系统漏洞由于部分Win7及Win10在未进入系统时,可以通过连续按5次shift键弹出 sethc.exe应用程序,然后再深入利用调出CMD窗口,通过指令对用户密码进行修改或删除,从而登录不知道密码的计算机。
Windows系统漏洞之5次Shift漏洞启动计算机
首先,在未登录系统时,连续按5次shift键,弹出程序 “c:\windows\system32\sethc.exe”
接着强制关机想办法进入“启动启动修复(推荐)”界面,该界面存在 一个漏洞,它能打开一个本地的错误TXT文件
通过TXT文件的打开选项,在未进入系统之前就打开C盘存放 “sethc.exe”的位置,接着将cmd.exe程序复制一个副本,并命名为 “sethc.exe”。
重启计算机再次按下5次Shift键时,会弹出CMD界面,再输入命令修改 登录密码。 连续按5次shift键它会去C盘目录下调用sethc.exe程序

注意:Win7和Win10系统已经修补了该漏洞,所以系统版本更新和打补丁是 我们防御非常重要的手段之一。

二.账户密码操作

SAM文件存储着Windows的账号和密码,使用Hash算法加密,不可逆。处理方法爆破,但需要花费时间的代价。

这里补充CMD中修改密码的常见命令, 通过该方法修改密码。

• CMD工具路径:c:\windows\system32\cmd
• 用户账户密码存储位置:c:\windows\system32\config\SAM
• 修改账户密码:net user 用户名 新密码
• 创建一个新用户:net user 用户名 新密码 /add
• 删除用户:net user 用户名 /del
• 提示管理员:net localgroup administrators 用户名 /add

三.漏洞复现

(1) 重启计算机,当出现“正在启动 Windows”界面时,立刻强制关机电脑。
这是模拟现实生活中突然断电或不正常关机的场景,从而弹出“修复模式”。建议大家别在真实的电脑中尝试。

(2) 接着再开机时会进入“windows错误恢复”界面Windows系统漏洞之5次Shift漏洞启动计算机
(3) 选择“启动启动修复(推荐)”选项,它会启动修复
Windows系统漏洞之5次Shift漏洞启动计算机
(4) 接着提示“您想使用‘系统还原’还原计算机吗?”点击“取消”,它会继续 尝试修复。
Windows系统漏洞之5次Shift漏洞启动计算机
(5) 此时他无法自动修复,弹出新的对话框Windows系统漏洞之5次Shift漏洞启动计算机
(6) 需要注意的是,这里点击“查看问题详细信息”,漏洞就藏在这里。我们不需要理解它的具体含义,它是微软内部的问题报告。
Windows系统漏洞之5次Shift漏洞启动计算机
(7) 我们往下拉会看到两个超链接,一条是联机远程访问微软的,另一个 是脱机访问本地的TXT文件,这里点击第二条。
Windows系统漏洞之5次Shift漏洞启动计算机
(8) 我们打开这个文件,它的内容是什么我们并不关心,而它有一个打开文件的按钮。
Windows系统漏洞之5次Shift漏洞启动计算机
(9) 点击“文件”->“打开”,可以看到“计算机”。

(10) 双击打开“计算机”,此时虽然没有进入系统,但能够看到磁盘分区
Windows系统漏洞之5次Shift漏洞启动计算机
(11) 此时它会有一个本地的记事本,可以通过它打开TXT文件。由于还未进入系 统,目前没有用户的概念,所以在这个状态下是以最高权限去进行运行的。接着 打开“Windows”->“System32”文件夹

(12) 找到“sethc”文件。

(13) 将“sethc”名称修改为“123”,下次再按5次shift键,它就不能再找到这个 可执行文件了。
Windows系统漏洞之5次Shift漏洞启动计算机
(14) 然后找到“cmd”文件,CMD文件也在该目录下,我们想做一个偷换,让连续按5次shift键调用CMD,再输入命令修改开机密码。

(15) 复制cmd程序,防止别对cmd造成修改。

(16) 接着重命名,修改为“sethc”。系统不会验证你内容是什么,只是根据程序 名调用可执行程序。
Windows系统漏洞之5次Shift漏洞启动计算机
(17) 关闭记事本,然后完成启动计算机。

(18) 此时我们再按5次Shift键,弹出的对话框就是cmd

(19) 这里可以设置新密码,也可以设置无密码,即net user shimisi “” 。 此时就能成功进入系统了。
Windows系统漏洞之5次Shift漏洞启动计算机
但是这种方法存在一个缺点,如果你自己电脑忘记密码还可以,但如果你修改了 别人电脑的密码,别人下次登录就知道了。

我们可以调用“net paidx0 hahaha /add”增加新的用户,通过新用户登录系统。

但只是一个普通用户,接着需要将paidx0用户提权到管理员组中。 调用命令“net localgroup administrators paidx0 /add”。

增加成管理员之后,重启电脑。 paidx0以系统管理员的身份进入了系统。

完成之后我们还需要删除用户,消灭踪迹。调用命令“net user paidx0 /del”。

上一篇:filezilla搭建FTP服务器的配置步骤


下一篇:Golang的交叉编译问题