最近被朋友叫去破解一个XP系统的用户登陆密码,这对于喜欢玩入侵的老手们肯定是小菜一碟,他们的做法通常都是多挂一个硬盘,使用工具把密码跑出来(无法被远程连接就只能挂双硬盘了),俗称暴力破解。但是倘若遇到一个加了符号又是无意义字符组合,超过10位的密码,我也会觉得欲哭无泪。在网上搜索破解XP系统密码,经常可以搜索到的还有一个方法,就是叫人进入安全模式,然后使用ADMINISTRATOR帐号登陆,然后还要打开CMD加个HACK的GUEST的帐号,再打个命令把它加入超级用户组,我相信大家都可以看出这种“脱裤子放屁”的做法是弱智的。想想既然可以使用ADMINISTRATOR账号登录进入系统了,还要那么麻烦吗?这和那些说防止病毒木马可以使用不同帐号远行恶意程序,然后当前帐号不受恶意程序影响一样,都堪称经典的以讹传讹,散播开的文章至今还是迷惑了大都分人。希望大家平时还是多对一些理论进行实践、实践出真知啊。
废话不多说了,大家肯定想起了还可以删除SAM文件吧。但这个方法经过实践后发现只适用于Win2000系统,而XP系统删除SAM后会使系统启动初始化出错,导致系统无法被登陆。所以面对一个忘记了密码的XP系统并没有一个很好的破解方法。
我就把自己实践过的一个通用破解技巧详细地教给大家,在这里用到的一些技巧和思路对于系统的应用都很有用。
首先我们需要准备一个DOS启动盘,假如我们的系统分区是NTFS,那要对其访问最好也需要一个支持NTFS的DOS启动盘,我们可以找来软盘或者光盘等等都可以的。我们先讲一下思路,需要在登录界面那里得到一个CMDSHELL,因为我们要利用DEBUG修改系统文件,而在DOS下DEBUG不能用,所以我们的目标是CMDSHELL。可以有几个方法得到:
1.在DOS下用COPY命令把CMD替换掉logon.scr,在等待屏保的时候就会弹出一个CMD。呵呵,很容易吧,这个技巧可以有很大的利用和发挥的空间。
2.在DOS下将CMD替换掉SETHC.EXE,然后在登陆界面按SHIFT键5次以上,就可以弹出
CMDSHELL,个人推荐使用这个方法。
3.可以使用深山红叶工具得到一个CMDSHELL,但这又需要工具了,麻烦。
我以第二种方法为例,使用启动盘进入命令提示符状态下。用CD命令进入SYSTEM32文件夹,然后使用RENAME命令更改SETHC.EXE的名字,以免被CMD覆盖,然后再使用COPY命令将CMD.EXE复制为SETHE.EXE,这样就可以在登录界面得到CMDSHELL了。
现在在CMD输入DEBUG命令:debug c:\windows\system32\msv1_0.dll,对c:\windows\system32\msv1_0.dll这个文件进行DEBUG。成功找到文件后输入-d 8ab7,可以看到一些HEX代码,假如是“F8-1075 11”开头的,那就恭喜我们可以继续下面的步骤了。
假如大家没有使用过DEBUG的话,一定都看晕了吧!。那么接下来我来讲解一下这些语句的作用。-d是查看,-e是编辑,-e 8eb7 e0 00的意思就是编辑8ab7的开头两个HEX代码,即F8-lO修改为e0 00。一n c:\crackpass.dll是装入这个地址字符串,-r bx存放文件大小的16进制的高l6位,-r cx存放文件大小的16进制的低16位。这里的DLL大小是129536字节,换成HEX是IFAOO,故BX=1、CX=FA00。因为DLL正在被调用而无法在CMD下直接保存,所以我用了这个不常规的办法来写入新文件,当我们输入完-W后看到这个信息的时候就成功了。
完成以后再次进入DOS,将c:\windows\system32\msv1_0.dll使用COPY命令备份一下,然后再将c:\crackpass.dll覆盖c:\windows\system32\msv1_0.dll,这样就完成了备份和替换。重启以后我们会发现不用输入登录密码就直接进入系统了,无论登录什么用户都不需要输入密码。当我们进入控制面板里打算更改用户密码的时候我们会看到所有用户未创建密码,并且无法创建密码,会得到一个无法更改密码的提示。
没关系,我们已经得到了管理员的权限,就可以发挥想象为所欲为了,修改密码绝对不是问题,我们可以拿下SYSTEM权限或者按照开头说的脱裤子放屁的办法来添加一个新的管理员帐号,然后将c:\windows\system32\msv1_0.dll,SETHE.EXE等文件的备份还原,再进入新加的管理员帐号里修改其他用户的密码。当然了,假如我们是非授权访问系统的话,建议大家把痕迹都清理干净,把登录日志伪造一遍。不过我可不是黑客,我一直坚持为人民服务的。
到这里就完成了对XP系统的一次破解,过程很简单,但是在别人看来这可是很牛的事,当我的朋友用崇拜的眼光看着我,帮他把忘了密码的系统挽救回来的时候,我发现今天又是美好的一天了。