人们常常遇到破解本地Windows 2000/XP密码的问题,可参考的资料却非常少。这些年来,我在这方面做了些工作,为了更好地理解本文所讲述的内容,您可以通过这些链接来参考文本资料和视频资料。
文本:
http://www.irongeek.com/i.php?page=security/localsamcrack ;
http://www.irongeek.com/i.php?page=security/localsamcrack2
视频:
http://www.irongeek.com/i.php?page=videos/samdump2auditor
http://www.irongeek.com/i.php?page=videos/LocalPasswordCracking ;
体验Windows Vista Beta 2的时候,我想看看破解本地账号密码的那些老工具是否仍旧起作用。看起来,微软好像改变了Vista中运行的SAM文件和SYSKEY,这样以前用在NT 4/2000/XP上的破解方法就不再起作用了。很快,我发现大多数现有的工具都不再起作用了,比如说,Ophcrack 2.3、Cain 2.9、SAMInside 2.5.7.0、Pwdunp3等。看到安全级别的提升,我们当然非常高兴,但破解本地密码总是比较有趣的事情,并且有时也是有用的。当我试图从SAM和SYSKEY文件的复件破解本地密码时,我遇到了以下错误提示:
Ophcrack:
"Error: no valid hash was found in this file"
Cain:
"Couldn’t find lsa subkey in the hive file."
虽然像Sala’s Password Renew这样的工具可以通过Bart’s PE boot CD改变Vista的密码,或者是创建全新的管理员账号,但有时,你需要知道当前的管理员口令。有以下三个原因需要你知道当前的管理员口令而不是改变成新的口令:
1.黑客并不想被系统管理员发现。如果管理员发现原来的口令不能进入系统,那么他们会怀疑的。
2.同样的口令可能还要用在网络上的其它系统。如果黑客破解一台机器的管理员口令,可能他用同样的口令就可以访问局域网上其它的机器了。
3.为了访问用Windows EFS(Encrypted File System)加密的信息。改变账号的口令可能会导致这些信息的丢失,不过我觉得Sala的工具可能可以做这项工作而不会丢失加密密钥,因为它是用一项Windows服务来改变本地口令的。
另外需要注意的是,Vista Beta 2默认的LM哈希存储没有激活,所以你所能够得到的只是NTLM哈希,后者比前者难破解得多。还有Windows Vista新的BitLocker特性,如果这一功能开启,本文所讲述的所有办法都将无济于事,这个我们以后再谈。
起初,我觉得要破解Vista的密码,希望还真是不大。但经过在网上搜索后,我发现如果有好的工具,还是可以破解本地密码的。Elcom Soft的员工已经加入了对Vista SAM和SYSTEM的支持,体现在他们的“Proactive Password Auditor 1.61”工具中。很不幸,PPA是一个商业应用程序,不过他们提供一个60天的使用版。既然Elcom已经研究出了怎样做,我相信,在不久的将来,像Cain和Ophcrack这样的免费工具也可以做同样的事。下面我们将介绍用PPA破解本地Windows Vista Beta 2密码的具体步骤。
你需要能够读取Windows Vista安装的驱动。对于NTFS驱动,我用Knoppix (http://www.knoppix.org/)和PE Builder(http://www.nu2.nu/pebuilder/)试过,已经取得了成功。第一步是从光驱启动,把C:\WINDOWS\system32\config目录下的SAM和SYSTEM文件拷走(也许你遇到的是比较来的版本,那么目录可能是C:\WINDOWS\config\RegBack,另外需要注意的是,系统也许并不安装在C盘,那就把C替换成正确的驱动器的字母吧)。
接下来开启PPA,并按以下步骤执行:
1.选中哈希标签下面标有“Registry files (SAM, SYSTEM)”的单选框,然后点击dump。
2.选择你将要用到的SYSTEM和SAM文件,然后点击“Dump”按钮。
3.在Dump阶段,PPA自动做一个简单的暴力攻击,也许在这一步,你的密码就已经被破解了。如果还没有破解,那么选择攻击类型,把哈希类型换成“NTLM attack”,因为没有LM哈希。我选择字典攻击,点击“Dictionary list…”按钮。
4.确保你想要破解的账号被选中。
5.现在就只需要点击菜单上的“Recovery->Start recovery”,然后等着,好的结果马上就会出现。
如果密码足够简单,你应该就可以用破解的密码进行下一步的工作了。不过需要牢记的是,不能保证可以攻破所有的密码。如果密码不在你的字典中,那么你需要求助于暴力攻击。