0x001 漏洞原理
- 在未登录系统时,连续按5次Shift键,可以弹出系统程序
c:windowssystem32sethc.exe
。 - 部分Win7或者Win10系统在未进入系统时,可以通过系统修复漏洞篡改系统文件名。 注意:如果Windows系统已经打上该漏洞的补丁,则无法利用。
0x002 破解相关知识点
- CMD工具路径
c:windowssystem32cmd
- 用户/账户密码存储位置
c:windowssystem32configSAM
- 修改账户密码
net user 用户名 新密码
- 创建一个新用户
net user 用户名 新密码 /add
- 删除用户
net user 用户名 /del
- 提升至管理员权限
net localgroup administrators 用户名 /add
0x003 漏洞利用过程
案例:破解Win7系统密码
实验步骤:
- 开启Win7虚拟机,开机,并设置一个复杂的密码;
- 关机,并开机,在出现windows启动界面时强制关机;
- 再开机,出现“启动修复(推荐)”时选择该项;
- 出现系统还原提示,点击取消,等待几分钟后,会出现问题原因,点击查看详细信息;
- 打开最后一个连接,即一个记事本;
- 记事本中点打开选项,并选择显示所有文件;
- 找到sethc并改名为sethc.bak,再找到cmd,复制一份cmd改名为sethc;
- 全部关闭,重启;
- 系统重启完毕后,连续按5次Shift键,会弹出cmd命令行工具;
- 使用
net user 用户名 新密码
修改掉当前用户的密码;或者另外新建一个用户,并提升为管理员权限,注销后可以删除新建的用户,这样就可以达到不修改原有的密码即可登录系统的效果
0x004 漏洞复现
案例:破解Win7系统密码
先开机
出现这个界面时立马关机
再开机,选择启动修复选项
一直等它结束,期间会出现是否系统还原,选择否
点击问题详细信息,拉到底,选择最底下的连接打开
点击菜单文件,点击打开
打开D盘,注意此时这里的D盘才是平时所见的C盘!
将文件类型改为所有文件
找到D:system32下的sethc文件,将其重命名为sethc.bak或者其他任意名字即可
找到D:system32下的cmd文件,将其复制粘贴一份
将复制的那份cmd文件重命名为sethc
最后关掉没用的窗口,点击最后个窗口完成
会重启系统
启动到登录系统界面时,连续按5次shift键,此时会弹出cmd命令窗口
第一种破解思路: 修改原有账号的密码
重置账号密码:net user 用户名 密码
,若设置密码为””时,表示设置空密码。
再重启,输入密码即可登录系统,若设置空密码直接点击登录箭头即可进入。
第二种破解思路: 不改变原有账号的密码
新建一个用户: net user 新用户名 新密码 /add
对新建的用户提权:net localgroup administrators 用户名 /add
然后重启,登录界面会出现刚创建的新用户,选择用户进行登陆即可
退出系统时,选择注销账号,回到登陆界面,连续按5次Shift键,再次弹出cmd命令窗口
最后,输入删除刚创建的用户命令:net user 用户名 /del
,关机即可。