飞道的博客

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

416人阅读  评论(0)

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

出品 | 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 用户名 新密码”,将当前用户密码修改即可,或者另建一个新用户,并提升为管理员,注销后可再删除新建的用户,这样的好处是不修改当前的用户密码即可登录系统

  • 成功登录系统


   
  1. 更多精彩推荐
  2. ☞急缺芯片,高通是华为的唯一选择吗?
  3. ☞征战云时代,为什么安全是关键命题?
  4. ☞人均月薪 7.5 万,腾讯 Q2 成绩单来了,网友酸了?
  5. ☞为什么气象站和 AI 都测不准天气?
  6. 2019年中国IaaS公有云市场排名及份额出炉
  7. ☞马小峰:金融科技界的区块链博士
  8. 点分享点点赞点在看

转载:https://blog.csdn.net/csdnnews/article/details/108047190
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场