1.基于Win7漏洞的密码破解
此漏洞比较简单,且在最新版本的Win7中已经被修复,我们在Win7虚拟机中做相应实验:
首先为我们当前登录的Win7账户随便设置一个密码:
以管理员身份运行CMD,此权限下可以用net user+用户名+密码指令修改指定账户的密码,如下图所示:
(用户与组管理指令参考https://www.cnblogs.com/czw52460183/p/13287853.html)
此时我已经给当前的名为czw的账户设置了一串不易记住的密码。
现在重启此虚拟机,我们讲一下此漏洞的原理:
在登录界面,连点5下shift,会弹出粘滞键弹窗,如下图所示:
重点来了,这个粘滞键对应的程序其实是位于C:\Windows\System32目录下的名为sethc的应用程序,如下图所示:
那么就是说即使我们未成功登录,也可以通过连按5次shift的方式访问到C盘中的应用程序,那么假如我们把Cmd.exe的名称改成sethc,岂不是直接就可以在登录界面进入到命令行?那么我们在未登录的情况下运行的命令行程序是什么用户权限呢?是administrator吗?这个我们一会做完就有答案了。
(权限相关知识参考https://www.cnblogs.com/czw52460183/p/13287853.html)
那我们怎么在未登录的情况下把Cmd的名称改为sethc呢?这就牵涉到Win7的另一个漏洞了:
在Win7的启动界面强行关闭虚拟机,然后重新启动,此时启动后会弹出Windows错误恢复的界面,如下图所示:
我们选择点击启动修复(推荐),随后会提示是否使用系统还原,这个点取消,如下图所示:
此时会露出后面的启动修复界面,提示系统正在尝试修复,此时需要等待几分钟,随后会提示系统无法修复,并询问是否要发送信息给Microsoft,如下图所示:
我们点开"查看问题详细信息"的下拉菜单,找到下面"脱机阅读隐私声明"对应的链接点开:
发现了没?我们居然在未登录的情况下打开了记事本!!此时点击文件->打开我们直接可以访问到我的硬盘中的文件:
注意,此时的C盘是安装系统时的系统保留空间,看大小就可以看出来,此时的D盘才是我们平时使用的C盘。
接下来的事情就比较简单了,去Windows\System32目录下,先把文件类型下拉菜单选成所有类型,然后先找到sethc这个程序,随便重命名一下:
然后找到Cmd应用程序(是的它也在Windows\System32目录下),重命名为sethc:
大功告成!接下来我们关掉所有窗口并重启,到登录窗口后点5下shift:
可以看到,我们成功地开启了命令行,而且是以sysyem32这个账户开启的,这是最高权限!
既然取得了最高权限,那接下来就比较简单了,我们直接把要登录账户的密码改为空就行了:
好了,现在直接点击->箭头就可以进入系统了,神奇不?
当然,这么做的弊端是用户下次登录时会发现自己的密码被改了,很容易暴露,可以转换一下思路,我们不改该账户的密码,而是直接创建一个新账户并提升其权限为管理员,做完想做的事后再将此账户删除:
2.基于PE系统的系统密码破解
此方法比起第一种方法有一定优势,它无需系统有漏洞。
其基本思路如下:
账户名和密码被加密并存放于C:\Windows\System32\config\SAM中,虽然由于加密的原因我们无法得知其信息到底是什么,但我们可以自己设定个密码,用同样的算法加密后,替换掉此SAM文件,变相实现密码的修改。
现在的问题是开机过程中SAM文件是禁止被访问的,如何去替换它呢?
我们可以使用用U盘制作相应的版本的PE系统,修改BIOS使系统从U盘引导登录,此时系统中的所有盘都被视为此PE系统的硬盘,自然也可以随意修改其内容。
我们以WinXP虚拟机做演示:
先用之前的方法为XP设置一个密码,这个就不演示了,随后关机,由于我们用虚拟机演示,就不用U盘引导了,直接从网上下载个大白菜,制作相应的PE镜像,设置为虚拟机的光驱:
随后我们要开机进BIOS来修改启动引导盘,正常要进BIOS是在开机时不停按F2即可,由于是在虚拟机中,开机时需要先点击虚拟机以便从主机聚焦到虚拟机中,此时再按F2才行,但由于时间间隔太短,很难成功。好在VMWare为我们提供了相应的解决方案,如下图所示:
点击打开电源时进入固件就可直接在开机时进入BIOS,移动到Boot页签下,按shift+"+"号设置CD-ROM顺序在Hard Drive前(用U盘引导的话则是USB):
随后按下F10保存并退出,此时会进入大白菜PE系统的引导界面,我们选择第2项,即"启动Win2003PE"(虽然我们的虚拟机是XP,但没关系,都可以用):
进入后桌面有个系统密码修改的工具,直接点击它,然后点击打开按钮,可以看到当前所有用户信息:
点击要改密码的用户,按提示修改密码即可:
至此密码已经破解完成,随后我们关机,修改BIOS为从硬盘引导,重新启动后会发现密码已经修改,这个就不贴图了。