众人翘盼已久的XPsp2终于发布,但是感到失望大于期望,感到系统变慢,变得不稳定,变得不方便。
曾经XP有一个很老的漏洞,流传得很广,就是用Windows2000启动盘启动修复XP系统可以绕开密码直接以命令行的方式直接访问修改系统。记得当初sp1补丁包发布后,我曾实验,漏洞依然存在。现在sp2补丁包都打上了,我又做了一下测试。
用Windows2000光盘启动,进行检测的时候用了20多分钟,可能是sp2包的作用吧。顺利进入到安装对话界面,选择修复2000安装(图1),然后按C,选择恢复控制台(图2),然后选择系统,回车进入。
一个熟悉而亲切的shell摆在了眼前。完全控制的权限对文件进行操作。
在电脑爱好者2004年第13期上面有一篇文章《给你一把Windows的万能钥匙》,利用的也是这个漏洞。
根据该文章所说,需要运行软件保存ISO文件,然后用Nero把ISO刻成光盘。再用光盘启动,修改替换system32文件夹下的sfcfiles.dll文件。
其实没那么麻烦,笔者有一个方法,自认为是目前本地突破XP权限最方便的方法!而且在网上书上也没见过这种方法发布。
准备工具简单得多,winrar,windows2000系统盘,一张软盘。
首先制作一个可以运行后添加帐户并提升到管理员组的程序。不会编成没有问题。首先打开记事本输入以下内容:
net user test cfan /add
net localgroup administrators cfan /add
然后保存为osk.bat,注意后缀名。将osk.bat添加到rar压缩包,创建自解压格式压缩文件,高级选项-自解压选项。常规:钩选“在当前文件夹下释放”,释放后运行“osk.bat” 。模式:安静模式,选择“全部隐藏”,覆盖方式:选择“覆盖所有文件”。然后确定。这样我们得到一个osk.exe文件,运行后添加一个用户名为test密码为cfan的管理员组的帐号。
将osk.exe拷贝到软盘备用。
准备工作完毕,下面开始实战。
用Windows2000系统盘启动,选择修复,恢复控制台,
输入命令
copy a:/osk.exe c:/windows/system32
系统提示是否覆盖
选择是,回车。重启。
这样,系统就添加了一个我们设置好的帐户。但是帐户并没有出现在欢迎屏,可以重新启动一下,或者按住Ctrl+Alt然后双击Delete键切换到交互式登陆界面。输入用户名test密码cfan,这样我便进入系统,而且是管理员权限。
进入系统,打开计算机管理,察看test用户是隶属于Administrators和User组的成员。我们成功地绕开系统,在系统外以System权限执行程序,添加管理员帐户。
原理是,在Windows XP系统登陆界面时允许使用“Win”键+U键调出辅助工具并且启动,而且经过测试,这样调出来的屏幕键盘是系统权限的,我们借尸还魂达到了目的。
有几点需要补充:
因为不是在Windows下对系统文件进行的替换,所以进入系统时osk.exe并没有被系统替换回去,你可以再将system32文件夹下的osk.exe删除,这样系统会自动恢复真正的屏幕键盘。
经过试验,发现这样执行的osk.exe是System权限的。
可能你会想到,用系统里的cmd.exe,改名替换osk.exe,但是在登陆窗口没有弹出可爱的cmd窗口,进入系统后察看进程,确实有一个改名为osk.exe的cmd命令行窗口进程,为Syetem权限。
同样原理,同样可以把程序改名为magnify.exe进行文件替换,magnify.exe是辅助工具的放大镜。也可以实现本文的效果。