2

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

 2 years ago
source link: https://blog.csdn.net/weixin_49656607/article/details/122706749
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

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

original.png
paidx0 于 2022-01-26 19:54:50 发布 3633
专栏收录该内容
1 篇文章 0 订阅

一.原理知识

当我们使用计算机时,连续按下5次shift键会弹出一个程序
在这里插入图片描述
程序名称为“esthc.exe”,其路径为“c:\windows\system32\sethc.exe”。

该系统漏洞由于部分Win7及Win10在未进入系统时,可以通过连续按5次shift键弹出 sethc.exe应用程序,然后再深入利用调出CMD窗口,通过指令对用户密码进行修改或删除,从而登录不知道密码的计算机。
在这里插入图片描述
首先,在未登录系统时,连续按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错误恢复”界面在这里插入图片描述
(3) 选择“启动启动修复(推荐)”选项,它会启动修复
在这里插入图片描述
(4) 接着提示“您想使用‘系统还原’还原计算机吗?”点击“取消”,它会继续 尝试修复。
在这里插入图片描述
(5) 此时他无法自动修复,弹出新的对话框在这里插入图片描述
(6) 需要注意的是,这里点击“查看问题详细信息”,漏洞就藏在这里。我们不需要理解它的具体含义,它是微软内部的问题报告。
在这里插入图片描述
(7) 我们往下拉会看到两个超链接,一条是联机远程访问微软的,另一个 是脱机访问本地的TXT文件,这里点击第二条。
在这里插入图片描述
(8) 我们打开这个文件,它的内容是什么我们并不关心,而它有一个打开文件的按钮。
在这里插入图片描述
(9) 点击“文件”->“打开”,可以看到“计算机”。

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

(12) 找到“sethc”文件。

(13) 将“sethc”名称修改为“123”,下次再按5次shift键,它就不能再找到这个 可执行文件了。
在这里插入图片描述
(14) 然后找到“cmd”文件,CMD文件也在该目录下,我们想做一个偷换,让连续按5次shift键调用CMD,再输入命令修改开机密码。

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

(16) 接着重命名,修改为“sethc”。系统不会验证你内容是什么,只是根据程序 名调用可执行程序。
在这里插入图片描述
(17) 关闭记事本,然后完成启动计算机。

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

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

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

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

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

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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK