本节的破解对象为Windows 7用户的密码。
oclHashcat号称世界上最快的密码破解工具,是世界上第一个和唯一基于GPGPU规则的引擎,提供免费的多GPU(高达128个GPU)、多哈希、多操作系统(Linux和Windows本地二进制文件)、多平台(OpenCL和CUDA支持)、多算法机制,资源利用率低,基于字典攻击,支持分布式破解等。
oclHashcat系列软件在硬件上支持使用CPU、NVIDIA GPU、ATI GPU进行密码破解,在操作系统上支持Windows、Linux平台,并且需要安装官方指定版本的显卡驱动程序,如果驱动程序版本不对,可能导致程序无法运行。NVIDIA用户的GPU破解驱动需要ForceWare 331.67及更高版本,AMD用户则需要Catalyst 14.9及更高版本。可以通过Catalyst自动侦测和下载检测工具来检测系统应该下载哪个版本,下载地址为http://support.amd.com/en-us/download/auto-detect-tool。还可以通过360软件管理直接搜索“Catalyst”,选择合适的版本安装即可。
使用oclHashcat进行破解之前,需要完成如下准备工作。
01 准备kali Linux操作系统或者虚拟机。
02 准备Windows 7操作系统或者虚拟机。
03 准备字典。可以自己生成字典工具,也可以从互联网获取字典,推荐如下字典网站。
04 在Windows 7中新增用户antian365,密码为password。依次单击“开始”→“运行”选项,输入“cmd”并按“Shift+Ctrl+Enter”组合键,输入“net user antian365 password /add”,或者以管理员权限启动cmd.exe程序,执行成功后如图1-42所示。测试完毕可以通过“net user antian365 /del”命令删除该账号。
图1-42 添加测试账号
05 下载SAMInside。目前,官方网站目前已经停止SAMInside软件的更新了,可以到华军软件园下载,地址为http://gwbnsh.onlinedown.net/down2/saminside.v2.6.1.0. chs.rar。
01 获取操作系统Hash值
有多个软件可以获取Windows 7操作系统的Hash值,如WCE、mimikatz、Cain、SAMInside等,在Windows Vista及以上版本中都有UAC权限控制机制。UAC(User Account Control,用户账户控制)是微软为提高系统的安全性在Windows Vista中引入的新技术,它要求用户在执行可能影响计算机运行的操作,或者执行更改影响其他用户的设置的操作之前,提供权限或管理员密码。通过在这些操作启动前对其进行验证,UAC可以帮助防止恶意软件和间谍软件在未经许可的情况下在计算机上进行安装或对计算机进行更改。因此,获取密码的工具都需要以管理员身份运行。
选择saminside.exe程序,单击右键,在弹出的快捷菜单中选择“以管理员身份运行”选项,然后在SAMInside程序主界面中单击左起第3个图标,在弹出的菜单中选择“Import local user using Scheduler”选项,如图1-43所示,即可获取本机所有账号的密码Hash值等信息。
图1-43 获取密码Hash值
02 整理Hash值
在SAMInside中,既可以导出所有账号的Hash值,也可以复制单个账号的Hash值。单击“File”菜单中的导出用户到Pwdump文件选项,即可导出获取的Hash值。也可以选择Hash值,单击右键,在弹出的快捷菜单中依次选择“Copy”→“NT Hash”选项,获取NT Hash值。对于Windows Vista及以上版本的操作系统,即使是普通的密码,也是以“AAD3B”开头的一串字符,这个值目前在Ophcrack等工具中无法破解,在SAMInside中会显示为一串“0”字符。将NT Hash值整理到一个文件中,将文件命名为“win2.hash”,如图1-44所示。
图1-44 整理需要破解的Hash值
将准备好的字典ptemp.txt、需要破解的Hash值文件win2.hash复制到oclHashcat32程序所在的文件夹下,执行以下命令进行破解。
oclHashcat32 -m 1000 -a 0 -o winpass1.txt --remove win2.hash ptemp.txt
如果密码字典较大,可能会显示“[s]tatus [p]ause [r]esume [b]ypass [q]uit =>”。输入“s”显示破解状态,输入“p”暂停破解,输入“r”继续破解,输入“b”忽略破解,输入“q”退出。所有成功破解的结果都会自动保存在oclHashcat.pot文件中。破解结束,会显示如图1-45所示的信息。
图1-45 破解信息
使用“type winpass1.txt”命令查看破解结果,如图1-46所示,密码为“password”。
图1-46 查看破解结果
oclHashcat功能强大,基本上能够破解目前常见的密码加密算法。Discuz!论坛密码算法md5(md5($pass).$salt),破解命令为“oclHashcat32 -m 2611 -a 0 -o winpass1.txt --remove dz. hash ptemp.txt”;Linux SHA-512加密方式,破解命令为“oclHashcat32 -m 1800 sha512linux.txt p.txt”;Linux下的MD5加密方式,破解命令为“oclHashcat32 -m 500 linuxmd5.txt p.txt”。
本节所用到的工具,下载地址为http://www.antian365.com/lab/project01/project01.rar,解压密码为“antian365”。