Windows五次Shift漏洞

发布时间 2023-07-30 16:07:09作者: 刘倩_网安2211

Windows五次Shift漏洞

标签(空格分隔): 网络攻防技术


实验原理

当我们使用计算机时,连续按下5次shift键会弹出一个程序。该程序名称为“sethc.exe”,其路径为“c:\windows\system32\sethc.exe”。

原理
该系统漏洞由于部分Win7及Win10在未进入系统时,可以通过连续按5次shift键弹出sethc.exe应用程序,然后再深入利用调出CMD窗口,通过指令对用户密码进行修改或删除,从而登录不知道密码的计算机
其基本流程如下
(1)首先,在未登录系统时,连续按5次shift键,弹出程序“c:\windows\system32\sethc.exe”。
(2)其次,接着强制关机想办法进入“启动启动修复(推荐)”界面,该界面存在一个漏洞,它能打开一个本地的错误TXT文件。
(3)再次,通过TXT文件的打开选项,在未进入系统之前就打开C盘存放“sethc.exe”的位置,接着将cmd.exe程序复制一个副本,并命名为“sethc.exe”。
(4)最后,重启计算机再次按下5次Shift键时,会弹出CMD界面,再输入命令修改登录密码。连续按5次shift键它会去C盘目录下调用sethc.exe程序。
注意:部分Win7和Win10系统已经修补了该漏洞,所以系统版本更新打补丁是我们防御非常重要的手段之一。

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

CMD中修改密码的常见命令
(1)CMD工具路径:c:\windows\system32\cmd
(2)用户账户密码存储位置:c:\windows\system32\config\SAM
(3)修改账户密码:net user 用户名 新密码
(4)创建一个新用户:net user 用户名 新密码 /add
(5)删除用户:net user 用户名 /del

利用Windows五次Shift漏洞进入Windows7操作系统桌面

步骤
申请实验环境后,快速进入控制台,然后在系统启动菜单中选择【启动启动修复(推荐)】菜单。
它会启动修复,并弹出如下图所示的对话框,提示【您想使用“系统还原”还原计算机吗?】点击【取消】,它会继续尝试修复。此时无法自动修复,等待一段时间后会弹出新的对话框,如下图所示,通常会点击【发送】或【不发送】。
需要注意的是,这里点击【查看问题详细信息】,漏洞就藏在这里。不需要理解它的具体含义,它是微软内部的问题报告
向下滑动滚动条,会看到两个超链接,一条是联机远程访问微软的,另一个是脱机访问本地的TXT文件,这里点击第二条。
打开这个文件,它的内容是什么并不关心,关心的是它有一个打开文件的按钮。通过该按钮,我们是不是能做点什么呢?即使在没有进入系统的状态。点击记事本菜单中的【文件】→【打开】
在弹出的对话框中可以看到计算机图标。双击打开计算机,此时虽然没有进入系统,但能够看到磁盘分区,这里的D才是真实的C盘。由于还未进入系统,目前没有用户的概念,所以在这个状态下是以最高权限去进行运行的。接着打开【Windows】→【System32】文件夹。
将对话框中的文件类型选择为所有文件,然后在此目录中找到sethc文件。
将sethc名称修改为123,再按5次shift键,就不能再找到这个可执行文件了。然后找到cmd文件,注意该CMD文件也在该目录下,为什么要找到它呢?我们想做一个偷换,让连续按5次shift键调用CMD,再输入命令修改开机密码。接着重命名,修改为sethc,系统不会验证你内容是什么,只是根据程序名调用可执行程序。
b关闭此对话框,然后关闭记事本,关闭发送不发送的对话框,然后在【启动修复】的窗口中点击【取消】按钮,并在重启计算机窗口中点击【是】按钮。
这样计算机就会正常启动,等到系统启动并到登录界面
此时有两种利用方法
(1)当前系统中只有一个adra'toministrator用户,在登录页面已经看到,可以输入命令net user administrator “”,这条命令的作用是将administrator的密码置空,然后在不用输入密码的情况下直接点击登录按钮。可以直接进入到系统中。
(2)在cmd中输入命令net user test test /add创建用户。但test只是一个普通用户,接着需要将test用户提权,将它添加到管理员组中。调用命令13501。这样如果重新启动系统的话就会显示新增的用户了然后使用为test用户设置的密码也可进入系统。