传言:首先在Vista上安装另外一个操作系统,接着是把Vista分区的Windows\System32\cmd.exe改名为Utilman.Exe,重新登录Vista后在登录界面按下“Win+U”组合键就会出现命令行,输入explorer就进入了系统。
根据对此方法原理的分析,我们认为使用WinPE盘也可以实现相应的目的。首先将Vista系统System32目录中的Utilman.Exe文件删除,由于Vista系统特有的保护措施,这里我们使用了两种删除方法。
第一利用超级巡警推出的“文件暴力删除工具(下载)”。运行程序后点击“添加文件”按钮选择Utilman.Exe,然后点击“暴力删除”按钮就可以完成删除操作(图1)。第二是利用WinPE盘启动系统后,利用WinPE系统的资源管理器命令,找到Utilman.Exe文件并进行删除操作。
图1
接着复制一个命令提示符文件(C:\Windows\system32文件夹中的CMD.exe),将它直接在C:\Windows\System32目录中改名为Utilman.exe。重新启动Vista系统。在出现Vista系统的登录界面后,按下“Win+U”组合键就会出现命令提示符窗口(图2)。
图2
现在,在命令提示符窗口中中输入explorer就可以进入Vista系统,这个时候获得的控制权限也是最高的。通过测试发现,此时我们可以直接控制菜单中的程序,打开各种文件,运行各种程序,总之就和正常使用电脑差不多,唯一的区别就是不具备存储权限,不能够对修改后的文件进行保存(图3)。不过在命令提示符窗口,利用net user命令可以创建新的系统管理员账户,利用新的管理员账户就可以登录到Vista桌面进行一切操作。
图3
漏洞原理分析
我们可以看到,整个操作之所以可以成功,是因为Utilman.exe文件被替换。我们知道微软的系统中,有很多帮助残障人士进行操作的功能,比如放大镜、粘滞键、阅读器等功能,而UtilMan.Exe正好就是这些辅助工具的管理器程序。
这些功能都能用专门的快捷键进行激活,当这些辅助功能的文件被替换后,Windows系统依然会按照默认的设定激活指定的文件,因此替换后的文件就会被成功被激活。由于这些辅助功能在用户未登录前就可以调用,这就导致了用户可以在登录界面中绕过登录密码验证,成功登录Vista系统。
漏洞防范临时解决方法
我们应该如何防范这个漏洞呢?此时,我们可以使用病毒常使用的映像劫持方法。直接将Utilman.exe文件进行劫持。只要以后用户使用到这个文件或者叫这个名字的文件都会运行我们指定的程序。
映像劫持操作的方法有很多,为了照顾普通用户的需要,我们可以从网上下载一款“Windows映像劫持利用程序”来进行操作(注意,该程序会被杀毒软件诊断为病毒)。程序运行后,按照程序的提示输入选项1,然后就可以根据向导进行设置。
设置完成选项1以后,首先输入需要劫持的文件名Utilman.Exe。接着输入镜像劫持的路径,大家最好设置到一个无关紧要的软件,我们这里设置的是记事本的路径。最后回车就可以完成相应的操作。
这样以后当用户在再按下“Win+U”组合键,准备启动名字叫Utilman.Exe文件的时候。系统就会根据映像劫持的设定,用劫持路径的文件来代替Utilman.Exe文件启动。由于其它的程序没有办法加载explorer,因此也就无法登录到系统的桌面。
总结
Vista系统的权限屏障被成功绕过,但是我们也看到Vista自身的安全措施,让用户在非法使用的过程中只能够打开文件而不具备对文件的存储权限。但是Vista系统老是出现这样低级的漏洞,不禁让用户感到害怕。当然,对于普通用户来说,这个漏洞也不是完全没有利用的价值。如果用户自己在忘记密码的时候,该方法不失为临时解决方案。