✎ 阅读须知
乌鸦安全的技术文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。
乌鸦安全拥有对此文章的修改、删除和解释权限,如转载或传播此文章,需保证文章的完整性,未经允许,禁止转载!
本文所提供的工具仅用于学习,禁止用于其他,请在24小时内删除工具文件!!!
更新时间:2022.06.13
本文首发乌鸦安全知识星球
1. 原理
利用连按5下Shift
漏洞破解win7
开机密码。将c:windows/system32/sethc.exe
替换为cmd.exe
文件,达到新增用户、修改账号密码的的目的。
为了防止被发现,在这里不去修改原来的用户,通过mimikatz
方式dump
下来所有的NTLM
值,并对其进行解密。当然,除了这个程序之外,还有以下多个程序的快捷方式:
屏幕键盘:C:WindowsSystem32osk.exe
放大镜:C:WindowsSystem32Magnify.exe
旁白:C:WindowsSystem32Narrator.exe
显示切换器 C:WindowsSystem32DisplaySwitch.exe
应用切换器:C:WindowsSystem32AtBroker.exe
2. 环境准备
实验主机:Windows7
旗舰版 (无任何杀软)
3. shift后门复现
3.1测试是否存在粘滞键
在正常登录的Windows7
用户桌面连续摁5次shift
键,看是否有粘滞键提示弹出:
此时有弹出,证明其存在漏洞,然后将机器强制关机。
3.2 启动启动修复
在这里摁住option
键,然后关机键就会变成断电键。
关机之后,再正常启动机器:
启动之后,再选择重新启动,就可以进入到启动启动修复模式:
3.3 替换sethc.exe为cmd
然后到这个界面,等待:
在这里选择查看问题详细信息:
在这里选择文件——打开:
找到路径:c盘
->Windows
->system32
->sethc.exe
文件
将该文件重新命名:
再找到该目录下的cmd.exe
,将该文件复制后修改为sethc.exe
重启机器:
3.4 添加新用户
重启之后,使用5次shift
键打开cmd
窗口:
在这里如果直接修改test
用户的密码,后面无法知道当前的密码,因此在这里添加一个新的用户进去,并将该用户添加到管理员组:
重启机器登录:
3.5 获取原用户密码
登录test2
后之后,使用工具mimikatz
工具将所有用户的密码dump
下来:
privilege::debug 提取权限
sekurlsa::logonpasswords 抓取密码
当前使用,只能抓到test2
的用户密码,在这里我们需要test
用户的账号和密码信息 在这里使用命令lsadump::lsa /inject
能够导出所有用户的hash
值:
209c6174da490caeb422f3fa5a7ae634
通过解密可知当前密码为:admin
3.6 删除新增用户
此时将机器重启,利用test admin
进行登录,再将当前的test2
用户删除:
进入环境之后,发现是无法找到cmd
程序的,因此在这里需要找到已经修改过的sethc.exe
,将其复制为cmd.exe
:
此时即可通过cmd
进行运行:
此时删除多余的用户即可:
4. 总结
本漏洞存在于Windows 2003
、xp
、win7
等。