连按 5 次 Shift 重改 CMD 和密码并重启电脑,这个漏洞你不能不知道!

作者 | 杨秀璋,责编 | 夕颜

出品 | CSDN博客

本文将介绍Windows系统漏洞,通过5次Shift漏洞重改CMD,最终实现修改计算机密码并启动计算机,思路还是很有趣的,分享给大家。

原理知识

当我们使用计算机时,连续按下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

假设现在需要设置密码,用管理员身份运行CMD。

为用户“shimisi”设置一个复杂的开机密码。

接着注销电脑,等待输入密码开机,因为密码过于复杂,我们无法开机。那怎么解决呢?

漏洞验证

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

(2)接着再开机时会进入“windows错误恢复”界面,如下图所示。

(3)选择“启动启动修复(推荐)”选项,它会启动修复,并弹出如下图所示的对话框。

(4)接着提示“您想使用'系统还原’还原计算机吗?”点击“取消”,它会继续尝试修复。

(5)此时他无法自动修复,弹出新的对话框,如下图所示,通常我们会点击“发送”或“不发送”。

(6)需要注意的是,这里点击“查看问题详细信息”,漏洞就藏在这里。我们不需要理解它的具体含义,它是微软内部的问题报告。

(7)我们往下拉,会看到两个超链接,一条是联机远程访问微软的,另一个是脱机访问本地的TXT文件,这里点击第二条。

(8)我们打开这个文件如下图所示,它的内容是什么我们并不关系,而关系的是它有一个打开文件的按钮。通过该按钮,我们是不是能做点什么呢?即使在没有进入系统的状态。

(9)点击“文件”->“打开”,可以看到“计算机”。

(10)双击打开“计算机”,此时虽然没有进入系统,但能够看到磁盘分区,这里的“D”才是真实的C盘。

打开如下图所示:

(11)此时它会有一个本地的记事本,可以通过它打开TXT文件。由于还未进入系统,目前没有用户的概念,所以在这个状态下是以最高权限去进行运行的。接着打开“Windows”->“System32”文件夹,如下图所示:

(12)找到“sethc”文件。

(13)将“sethc”名称修改为“123”,下次再按5次shift键,它就不能再找到这个可执行文件了。

(14)然后找到“cmd”文件,注意该CMD文件也在该目录下,为什么要找到它呢?我们想做一个偷换,让连续按5次shift键调用CMD,再输入命令修改开机密码。

(15)点击该程序,右键复制,然后粘贴。防止别对cmd造成修改。

(16)接着重命名,修改为“sethc”。系统不会验证你内容是什么,只是根据程序名调用可执行程序。

(17)关闭记事本,然后完成启动计算机。

(18)此时我们再按5次Shift键,弹出的对话框是CMD,这就非常可怕了。

(19)这里可以设置新密码,也可以设置无密码,即net user shimisi “” 。

此时就能成功进入系统了,是不是很神奇,通过这一连串漏洞,我们成功进入了系统。最好再次启动的时候删除被修改成cmd的“sethc”,同时将“123”名称改回成“sethc”。

但是这种方法存在一个缺点,如果你自己电脑忘记密码还可以,但如果你修改了别人电脑的密码,别人下次登录就知道了。后面分享一种不修改密码的情况下,以最高管理员权限进入系统。


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

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

增加成管理员之后,重启电脑此时会有新的用户界面。

成功以系统管理员的身份进入了操作系统。

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

该漏洞可能已经被Win7和Win10修复,但仍有部分未更新的系统存在,所以系统补丁、版本更新是非常重要的步骤。而黑客也会对比不同版本的补丁进行攻击。

总结

简单总结下该篇文章的方法:

开启win7虚拟机,开机并设置一个复杂密码

关机再开机,再出现Windows启动界面时强制关机

再开机出现“启动修复(推荐)”及选择该项。如果没有出现,多长时间几次强制关机或者换方法。

出现系统还原提示,点击取消,等待几分钟后,会出现问题原因,点击查看详细信息

打开最后一个链接即一个记事本

记事本中点击打开,并选择显示所有文件

找到sethc并改名为sethc-bak,再找到cmd,复制一份改名为sethc

全部关闭重启

系统启动完毕连续按5次shift键,将弹出cmd工具,使用命令“net user 用户名 新密码”,将当前用户密码修改即可,或者另建一个新用户,并提升为管理员,注销后可再删除新建的用户,这样的好处是不修改当前的用户密码即可登录系统

成功登录系统


随着互联网的发展,现在很多用户的网络安全意识也越来越高。对于自己的电脑,人们一般都会设置开机密码,但有时设置了密码又经常会忘记,又或者长时间未使用电脑完全忘记了开机密码。那遇到Win10忘记开机密码怎么办?

若您忘记了Win10系统的开机密码,您可以选择重置开机密码。那Win10怎么重置开机密码呢?我们接着往下阅读。

❈ 重置开机密码原理

在解决Win10忘记开机密码怎么办这一问题之前,我们先说说本文重置开机密码的原理。本文重置Win10系统的开机密码主要是利用粘滞键来重置Win10开机密码。首先,我们需要明白粘滞键是什么。

粘滞键是电脑中的一种快捷键,专为同时按下两个或多个键有困难的人而设计的。例如:先按一个键位(如Ctrl),再按另一键位(如C)即可实现复制,而不需同时按下“Ctrl C”键,这样可以方便某些因身体原因而无法同时按下多键的人。而我们可以连续敲5下Shift键运行粘滞键,并且该应用程序会以高权限运行。

一般我们可以在CMD命令提示符(cmd.exe)中修改开机密码,而我们要做的就是将粘滞键(sethc.exe)的程序改为其他名字再将CMD命令提示符(cmd.exe)程序复制到名为“sethc.exe”中,以实现在输入密码的界面连续敲5下Shift键启用CMD命令提示符。

然后,我们就可以在不输入开机密码的情况下启用CMD命令提示符,并在CMD命令提示符中重置Win10系统的开机密码。

❈ 重置开机密码步骤

WWin10忘记开机密码怎么办?该如何重置?相信通过以上的介绍,您已经有了个大概的了解。不过在具体操作之前,您需要做一些准备工作。

准备一个空的U盘,并将其制作成Win10 PE启动盘,然后将其连接到您的电脑,再进入BIOS设置,将U盘设置为第一启动项。接着,您可以按照以下步骤进行操作:

1、重启电脑,电脑将从您的U盘启动盘启动。当出现Windows安装界面时,按“Shift F10”打开命令提示符窗口。

2、打开命令提示符后,我们需要进入系统盘进行相关设置。先输入“C:”再按回车键,然后再输入“cd windows\system32”进入指定的目录。

提示:系统盘一般都是C盘,若您不清楚自己的系统盘是哪个,您可以输入“diskpart”“list volume”进行查看。

3、接着再依次输入以下命令,并在每个命令输入完成后,按下回车键。

ren sethc.exe sethc01.exe (将sethc.exe重命名为sethc01.exe)
copy cmd.exe sethc.exe (将cmd.exe文件复制到sethc.exe中)

4、然后,关闭命令提示符窗口并重启电脑。进入用户密码输入界面后,连续敲5下“Shift”键,呼出粘贴键,也就是CMD命令提示符窗口。

5、在命令提示符窗口中输入“net user”命令,该命令是查看本地所有的账户,然后再输入“net user admin 123456”,其中“admin”是您本地账户的名称,“123456”是您需要重置的新密码。

✍ 提示:您也可以输入“net user 账户名 密码 /add”添加一个新的账户名和密码,但此时的账户只是一个普通的账户,您可以再输入“net localgroup 账户名 密码 /add”将新建的账户添加到管理员组中。

将Win10开机密码重置完成后,您也可以按照以上的步骤将粘滞键改回成原来的名字。以上就是有关Win10忘记开机密码怎么办这一问题的全部内容,希望对您有所帮助。

(0)

相关推荐